『博客开发日记』之评论点赞接口的实现

本文最后更新于 2026年5月15日 晚上

评论点赞接口的实现


评论点赞接口的需求

判断点赞评论是否为空

根据评论id点赞评论

不能重复点赞(前端防止)

所有类型评论不用登录就可以点赞


代码实现

其实这个接口比较简单

新增评论点赞接口(Put请求格式)

1
2
3
4
5
6
7
8
9
10
/**
* 点赞评论
* @param commentId 评论ID
* @return 更新后的点赞数
*/
@PutMapping("/like/{commentId}")
public ResponseResult likeComment(@PathVariable("commentId") Long commentId)
{
return commentService.likeComment(commentId);
}

在AppHttpCodeEnum类中新建一个关于评论不存在的枚举


实现服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//点赞评论
@Override
public ResponseResult likeComment(Long commentId)
{
//判断点赞评论是否为空
if (commentId == null) {
return ResponseResult.errorResult(AppHttpCodeEnum.SYSTEM_ERROR, "评论ID不能为空");
}

int rows = baseMapper.increaseLikeCount(commentId);
if (rows == 0) {
return ResponseResult.errorResult(AppHttpCodeEnum.COMMENT_NOT_EXIST);
}

return ResponseResult.okResult();
}

在 CommentMapper 中添加方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/**
* 评论表(Comment)表数据库访问层
*
* @author makejava
* @since 2026-01-12 15:48:35
*/
//Alt + 回车 可以自动生成 CommentMapper.xml
@Mapper
public interface CommentMapper extends BaseMapper<Comment> {

//在mapper里直接写也可以,是另一种写法,实现都一样的
//@Update("UPDATE comment SET like_count = like_count + 1 WHERE id = #{id} AND status = 0")
int increaseLikeCount(@Param("id") Long id);

}

生成 CommentMapper.xml

1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.mengze.mapper.CommentMapper">
<update id="increaseLikeCount">
UPDATE comment
SET like_count = like_count + 1
WHERE id = #{id}
AND status = 0
</update>

</mapper>

在 ContentTypeValidationFilter 给接口添加白名单




PS:该系列只做为作者学习开发项目做的笔记用

不一定符合读者来学习,仅供参考


预告

后续会记录博客的开发过程

每次学习会做一份笔记来进行发表

“一花一世界,一叶一菩提”


版权所有 © 2026 云梦泽
欢迎访问我的个人网站:https://hgt12.github.io/


『博客开发日记』之评论点赞接口的实现
http://example.com/2026/01/14/『博客开发日记』之评论点赞接口的实现/
作者
云梦泽
发布于
2026年1月14日
更新于
2026年5月15日
许可协议