评论资源相关的东西可以放在 comment 这个目录的下面。存储评论数据要在数据仓库里创建一个 comment 数据表,这个表里面有 id,content ,postId ,userId 还有 parentId 这些字段。
在 comment.service 里定义一个存储评论数据用的功能叫 createComment,然后定义存储评论用的接口,在接口的处理器里面,可以使用 createComment 提供的功能,把客户端发过来的评论数据存储到 comment 数据表里。
评论可以回复,我们可以限制一下回复的级别只能是一级,定义一个检查评论是否为回复评论的功能,名字叫 isReplyComment。如果是回复评论,这条评论数据的 parentId 字段会记录它回复的评论的 ID。
再定义一个修改评论数据用的接口,用户可以在客户端准备好要修改的评论内容,发给这个修改评论接口,接口会修改对应的评论数据记录。接口可以根据请求里的 commentId 这个地址参数的值确定要修改的是哪一条评论,修改的评论内容可以放在请求的主体里面。
用户可以删除掉他自己发布的评论内容,定义删除评论接口的时候,可以在上面使用之前我们定义的 authGuard 还有 accessControl 这两个中间件 ,用来验证用户的登录状态,检查要删除的评论是不是当前这个用户发表的。接口可以根据请求地址里的 commentId 这个参数的值来确定要删除的是哪一条评论。
下面再整理一下项目,在终端,确定当前是在项目所在目录的下面,检查一下项目当前的状态,现在是 comments 这个分支上,项目当前没什么可以提交的东西。可以再查看一下提交的历史。 最后一次提交是 定义删除评论接口。
按一下 q 退出。下面把项目当前的分支切换到 develop 这个分支上。
在这个分支上做一次合并,要合并的是 comments 分支,合并之后可以再查看一下 develop 分支上的提交历史,最后一次提交就会是这个定义删除评论接口。
最后可以把这个本地上的 comments 分支,推送到项目的 origin 这个远程仓库上面。