用户登录

在内容页面上需要调取内容的评论列表,所以我们得让评论列表接口可以筛选出发布在某个内容上的评论列表。在客户端可以通过查询符设置一下内容的 id ,这样在接口那里就可以把这个内容的 id 用在查询的过滤条件里面。

回到项目,打开 comment.middleware ,修改一下之前在这里定义的 filter 中间件, 在里面可以先解构一下地址查询符,需要的是 post,user 还有 action 这几个查询符,它们都来自 request.query 这个对象。

这个 post 的值就是一个内容的 id,可以把它的值用在调取评论列表用的查询里面,作为结果的过滤条件。另外 user 还有 action 这两个查询符在后面会用到,它们会配合在一块儿使用,找出用户发表的评论或者回复的评论。

在默认的过滤的下面,再添加一个过滤出内容的评论。先得做一下判断,如果在客户端使用评论列表接口的时候,在地址里设置了 post 这个查询符,同时没有设置 user 还有 action 这两个查询符。这种情况就是要过滤出某个内容的评论列表。

设置一下 request.filter 的值,把它的 name 设置成 postComments,表示内容评论,sql 属性的值就是要用在查询里的一个过滤条件,这个条件就是 comment 表里的 parentId IS NULL 并且 comment 表里的 postId 栏目的值等于一个指定的值,暂时先用一个占位符表示。具体它的值可以放在 param 这个属性里面,把 param 的值设置成 post ,这个 post 就是在客户端通过 post 这个查询符设置的某个内容的 id。

回到 HTTP 客户端,请求一下评论列表,地址是 /comments?post=1 ,现在得到的就是 id=1 的这个内容上的所有评论。 在数据库客户端,观察一下 comment 数据表,这里 id=2 的这个内容有一条评论,再去试一下,修改一下请求地址,设置成 /comments?post=2 ,发送请求,得到的就是 id=2 的这个内容上的评论。

在做内容界面的时候,可以向服务端发送一个这样的请求,获取到内容的评论列表。

获取内容的评论列表《 Node.js 服务端应用开发:资源接口 》

统计

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

社会化网络

关于

微信订阅号

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