使用@Request

/*
Get用到的是req.query,Post用到的是req.body
*/
  @Get()
  findAll(@Request() req) {
    console.log(req.query);
    return {
      code: 200,
      message: req.query.name,
    };
    // return this.userService.findAll();
  }
  @Post()
  create(@Request() req) {
    console.log(req);
    return {
      code: 201,
      message: req.body.name,
    };
  }

使用@Request获取动态路由参数

  @Get(':id')
  findAll(@Request() req) {
    return {
      code: 200,
      message: req.params,
    };
  }


也可以直接使用@Parmas这种语法糖

  @Get(':id')
  findOne(@Param('id') id: string) {
    return {
      code: 200,
      message: id,
    };
  }

直接使用@Query

  @Get()
  findAll(@Query() query) {
    console.log(query);
    return {
      code: 200,
      message: query.name,
    };
    // return this.userService.findAll();
  }

Post使用@Body直接读取post的请求体

@Post()
  create(@Body() body) {
    console.log(body);
    return {
      code: 201,
      message: body,
    };
  }


返回的json

{
    "code": 201,
    "message": {
        "name": "hello",
        "age": 123
    }
}

我们在@Body()里面填入参数,就能获取key的值了

  @Post()
  create(@Body('age') body) {
    console.log(body);
    return {
      code: 201,
      age: body,
    };
  }

像上面的,我们就能直接获取到发送请求得age得值

同样得,咱们在上面的@Query里面填上值也是可以得

@HttpCode()

  @Get(':id')
  @HttpCode(404) //返回404状态码
  findAll(@Request() req) {
    return {
      code: 200,
      message: req.params,
    };
  }