💡
原文英文,约500词,阅读约需2分钟。
📝
内容提要
NestJS中常用的参数装饰器有@Body()和@Param(),用于从HTTP请求中提取数据,如查询参数、请求头、IP地址和会话数据。还可以创建自定义装饰器,如@CurrentUser,以获取当前用户信息。
🎯
关键要点
- @Body()和@Param()是NestJS中常用的参数装饰器,用于从HTTP请求中提取数据。
- 使用@Query()可以提取查询参数,例如GET /tasks?status=OPEN&limit=10。
- @Headers()用于提取请求头信息,如Authorization。
- @Ip()可以获取客户端的IP地址。
- @HostParam()用于提取路由中的子域名参数。
- @Session()用于访问和修改会话数据。
- @Req()提供原始请求对象,@Res()提供原始响应对象,但使用它们会失去Nest的标准响应处理功能。
- 可以创建自定义装饰器,如@CurrentUser,以获取当前用户信息。
❓
延伸问答
NestJS中常用的参数装饰器有哪些?
常用的参数装饰器包括@Body()、@Param()、@Query()、@Headers()、@Ip()、@HostParam()、@Session()等。
@Query()装饰器的用途是什么?
@Query()装饰器用于提取HTTP请求中的查询参数,例如GET请求中的URL参数。
如何使用@Session()装饰器?
@Session()装饰器用于访问和修改会话数据,可以在控制器中获取当前会话的信息。
可以自定义参数装饰器吗?
可以,NestJS允许创建自定义参数装饰器,例如@CurrentUser,用于获取当前用户的信息。
@Req()和@Res()装饰器的作用是什么?
@Req()提供原始请求对象,@Res()提供原始响应对象,但使用它们会失去Nest的标准响应处理功能。
如何提取请求头信息?
可以使用@Headers()装饰器来提取请求头信息,例如Authorization头。
➡️