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 中,可以通过以下方式获取前端传递的参数:
- 使用
@Query(key)装饰器获取 URL 参数: - 使用
@Body(key)装饰器获取请求体参数: - 使用
@Req()装饰器获取请求对象,获取 URL 参数、请求头等信息 - 使用
@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,
};
}