NestJS中的参数装饰器

NestJS中的参数装饰器

💡 原文英文,约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头。

➡️

继续阅读