Nestjs框架: 关于controller中的常用装饰器
图解Request常用注解(装饰器)
- 在 nestjs 中提供了很多好用的装饰器来提供参数的获取途径
- 如果把全部请求整个获取到用
@Req()
这个 - 我们在多租户的管理中,通常使用
@Headers()
来获取租户标识 - 更多参考官方文档 controllers#request-object
示例
-
我们写一个测试控制器
import { Controller, Get, Post, Body, Param, Query, Headers } from '@nestjs/common';@Controller() export class AppController {constructor() {}@Post('test-req/:id')async testReq(@Query('page') page: string,@Param('id') id: string,@Body() body: any,@Headers('x-tenant-id') tenantId: string,): Promise<any> {return {page,id,body,tenantId,}} }
-
请求
curl --request POST \--url 'http://localhost:3000/test-req/33?page=12' \--header 'content-type: application/json' \--header 'x-tenant-id: 123' \--data '{"username": "wang","password": "123456" }'
-
响应
{"page": "12","id": "33","body": {"username": "wang","password": "123456"},"tenantId": "123" }
-
以上是一个简单的示例