NestJS课程@Patch/@Delete请求无法解析URL路径变量${id}问题
问题解决:NestJS中@Patch/@Delete返回模板字符串变量不解析
问题根源
你用双引号包裹了字符串,而ES6模板字符串的变量解析功能只支持用**反引号(``)**包裹字符串。双引号里的${id}会被当作普通文本输出,不会替换成实际的ID值。
修复方案
- 把返回语句的双引号替换成反引号:
return `lorem ipsum #${id}`;
- 确保控制器方法中正确通过
@Param()注入ID参数,完整代码示例:
import { Controller, Patch, Delete, Param } from '@nestjs/common'; @Controller('coffees') export class CoffeesController { @Patch(':id') updateCoffee(@Param('id') id: string) { return `lorem ipsum #${id}`; } @Delete(':id') removeCoffee(@Param('id') id: string) { return `lorem ipsum #${id}`; } }
为什么这样管用?
- 反引号包裹的是ES6模板字符串,会自动识别并解析
${}中的变量,将其替换为对应的值。 - 双引号/单引号属于普通字符串字面量,只会原样输出其中的内容,不会处理变量替换逻辑。
内容的提问来源于stack exchange,提问作者StillStealSteel
相关产品推荐
相关产品推荐

