在 CommentService 里面再去添加一个更新评论内容用的方法,方法的名字叫 update,支持一个 id 参数,类型是 number,还有一个 data,参数,类型是 CommentDto。
方法 return 的是 await,用一下 this.commentRepository 上的 update,把要更新的评论 id,还有评论内容告诉这个方法。
下面再添加一个删除评论内容用的方法,方法的名字叫 destroy ,方法接收一个 id 参数,类型是 number,方法 return 的是 await,用一下 this.commentRepository,delete,把要删除的评论的 id 告诉它。
控制器
打开 CommentController ,在控制器里添加两个路由,先用 @Put 定义一条支持 PUT 方法请求的路由,地址是 comments/:id。
路由的处理方法的名字叫 update,方法需要地址里的 id 参数,这个参数用 @Param 装饰,给它一个 id 参数,再用 ParseIntPipe 把值的类型转换成数字 ,交给 id 参数,它的类型是 number ..
然后用 @Body 得到请求里的主体数据,交给 data 参数,类型是 CommentDto。
方法 return 的是 this.commentService.update,把 id,还有 data 交给这个方法。
下面再定义一个删除评论用的路由,用 @Delete 装饰器,地址是 comments/:id,处理的方法叫 destroy,需要一个 id 参数,用 @Param 装饰,给它 id 参数,用 ParseIntPipe 转换成数字,交给 id 参数,类型是 number ..
方法 return 的是 this.commentService,用一下 destroy,再把 id 交给这个方法。
测试
打开 Http 客户端,测试一下,先发布一条新的评论,设置一下评论的内容,成功以后到数据库这里检查一下 comment 数据表,这里会出现刚才添加的评论,这条评论的 id 号是 3。
再回到 Http 客户端,创建一个请求,名字叫 Comment Update,请求用的方法是 Put,请求的地址是 localhost:3000/comments/3 要修改的是 id 号是 3 的这条评论。
把要修改的内容放到请求的主体里面,添加一个 title 属性,设置一下评论的标题。
发送一下这个请求。
再到数据库的 comment 表里观察一下,刷新一下这个表,id 号是 3 的这个评论内容现在它的标题就有值了。
回到 Http 客户端,再发布一条新的评论。
下面再把这条评论删除掉。
创建一个请求,名字叫 Comment Destroy,请求方法使用 DELETE,地址是 localhost:3000/comments/ 后面加上要删除掉的评论的 id 号,比如我要删除的是 id 号是 4 的这条评论。
发送一下这个请求。
再回到 comment 数据表,刷新一下,表里面的 id 号是 4 的评论现在就被删除掉了。