回到项目,打开 PostController,在这个控制器里创建一个新的路由,处理的是 HTTP 的 POST 方法的请求,用一个 @Post 装饰器,地址是 :id/vote。
添加一个处理方法,方法的名字叫 vote,方法接收一个 id 参数,用 @Param 装饰器,得到地址参数里的 id,把它交给这个方法的 id 参数。
在方法里,我们可以先在控制台上输出这个 id 参数的值的类型,typeof id。
打开 Http 客户端,添加一个请求,名字是 Post Vote,请求用 POST 方法,设置一下请求的地址,localhost:3000,posts,斜线,内容的 id 号,斜线 vote。
发送一下这个请求, 回到运行项目开发的终端,在控制台上会输出 PostController 的 vote 方法的 id 参数的值的类型,显示现在它是一个 string,表示字符串。
我们需要的是让 id 参数的值的类型变成 number,也就是数字。
可以使用 ParseIntPipe 转换一下 id 参数的值的类型,把它作为 @Param 装饰器的第二个参数,ParseIntPipe。
然后再回到 HTTP 客户端,重新发送一下这个请求。
这回输出的 id 参数的值的类型就会是 number ,因为我们使用 ParseIntPipe 把 id 的值的类型转换成了 number。