🤍 前端开发工程师、技术日更博主、已过CET6
🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1
🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》
🍚 蓝桥云课签约作者、上架课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入门到实战全面掌握 uni-app》
在 NestJS 中,Query
和 Param
是用于从 HTTP 请求中提取查询参数和路径参数的装饰器。
一、Query
Query
装饰器用于提取 URL 查询字符串中的参数。例如,在以下 URL 中:
GET /cats?name=Whiskers&age=3
可以使用 Query
装饰器来提取 name
和 age
参数:
import { Controller, Get, Query } from '@nestjs/common';
@Controller('cats')
export class CatsController {
@Get()
findAll(@Query('name') name: string, @Query('age') age: number): string {
return `Name: ${name}, Age: ${age}`;
}
}
二、Param
Param
装饰器用于提取 URL 路径中的参数。例如,在以下 URL 中:
GET /cats/1
可以使用 Param
装饰器来提取 id
参数:
import { Controller, Get, Param } from '@nestjs/common';
@Controller('cats')
export class CatsController {
@Get(':id')
findOne(@Param('id') id: string): string {
return `Cat ID: ${id}`;
}
}
三、区别
Query
用于提取查询字符串中的参数,通常用于过滤、排序等操作。Param
用于提取路径中的参数,通常用于标识资源。
四、总结
在 NestJS 中,Query
和 Param
装饰器提供了一种简洁的方式来从 HTTP 请求中提取参数。通过使用这些装饰器,可以轻松地访问查询参数和路径参数,从而实现更灵活的路由处理和业务逻辑。