用户登录

在应用里定义一个发表评论用的接口,这样客户端就可以通过这个接口发表评论了,先定义一下这个接口需要的处理器,把它放在 comment.controller 这个文件里。先在文件的顶部导入之前我们定义的 createComment ,它来自当前目录的 comment.service 模块。

然后找个地方定义一下发表评论接口的处理器, 名字可以叫它 store,在这个处理器里面先准备点必要的数据,先准备一下当前用户的 id ,从 request.user 里面,把 id 解构出来,重新起个名字叫 userId。 一会儿设计发表评论接口的时候我们会在上面使用 authGuard 中间件,这个中间件可以验证用户登录状态,然后在请求里添加当前用户相关的数据。这里我们就是把这个当前用户的 id 给它解构出来,作为这个评论的作者的 id 。

在请求主体里面,可以把 content 评论内容,还有 postId 评论所属的内容的 id 解构出来,它们来自 request.body。在使用发表评论接口的时候,要求客户端必须要请求主体里面提供这个 content 还有 postId 属性。

下面可以再声明一个 comment,组织一个要保存的评论内容,它里面有 content,postId,还有 userId 这些东西。这里用的是一个简单写法,因为属性的名字还有值是一样的。

有了数据就可以把它们保存到数据仓库里了,用一组 try,catch,在 try 这个区块里设置要做的事情,这里就是保存评论数据。 添加一个 data,等于 await,执行 createComment 使用它的时候提供一个 comment 数据,这个函数可以把评论数据保存到数据仓库里。

处理器要给客户端做出响应,用 response.status 把响应的状态码设置成 201,再用 send 把 data 发给客户端。

在 catch 区块里可以处理在 try 里做事情的时候遇到的问题,这里执行一下 next ,带着 error。

打开 comment.router,在这里定义一下发表评论接口,用一下 router 上的 post 方法定义这个接口,这样这个接口就会支持用 HTTP 的 POST 方法使用。接口地址是 /comments,接口安排一个 authGuard 中间件,编辑器自动给我们导入了这个中间件。它可以验证用户的登录状态。接口的处理器设置成 commentController.store。

定义发表评论用的接口《 Node.js 服务端应用开发:发表评论 》

统计

13679
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点