NestJS之03-控制器获取请求参数

1,708 阅读1分钟

1. Controller 装饰器

参数装饰器含义
@Request()获取请求所有参数req
@Response()获取响应信息res
@Next()next
@Session()req.session
@Param(key?: string)获取 req.params/req.params[key]
@Body(key?: string)post请求体内容 req.body/req.body[key]
@Query(key?: string)请求url参数 req.query/req.query[key]
@Headers(name?: string)请求头 req.headers/req.headers[name]
@HttpCode设置http状态码

2. 获取前端参数

在 NestJS 中,可以通过以下方式获取前端传递的参数:

  1. 使用 @Query(key) 装饰器获取 URL 参数:
  2. 使用 @Body(key) 装饰器获取请求体参数:
  3. 使用 @Req() 装饰器获取请求对象,获取 URL 参数、请求头等信息
  4. 使用 @Param(key) 获取获取了 URL 中的参数 id
@Get('getList/:id')
@HttpCode(304) // 设置返回的httpcode
getList(
    @Headers('custom') headers,
    @Request() req,
    @Query('name') query,
    @Param('id') param,
  ) {
    // console.log('打印***req', req);
    console.log('打印***headers', headers);
    console.log('打印***query', query);
    console.log('打印***param', param);
    return {
      code: 200,
    };
}
  
@Post('postList')
postList(@Request() req, @Body() body) {
    console.log('打印***req', req);
    console.log('打印***body', body);
    return {
      code: 200,
    };
}

image.png