本文最后更新于 2026年5月6日 晚上
优化一些接口的检测判断
前言
为了确保安全且保持不能永远相信前端传的数据
在后端的很多接口都要检测一些数据是否为空
如一些 获取表单接口,删除接口,修改接口还要评论相关的审核跟回复接口
虽然这些在使用过程中不会有明显的感觉
但是在调用接口时传了不存在的数据却没有对这些数据进行检测 这样是不对的
代码实现
AdminCategoryServiceImpl 相关方法
getCategoryFormDetail 方法
updateCategory 方法
deleteCategory 方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| List<Category> categoriesToDelete = categoryService.listByIds(idList); if (categoriesToDelete.size() != ids.length) { Set<Long> existIds = categoriesToDelete.stream() .map(Category::getId) .collect(Collectors.toSet());
List<Long> notExistIds = idList.stream() .filter(id -> !existIds.contains(id)) .toList();
return ResponseResult.errorResult(AppHttpCodeEnum.SYSTEM_ERROR, "删除失败!!原因:以下分类 id 不存在:" + notExistIds); }
|
其他的文章,友链和标签都大差不差,这里就不展示了
主要说一下评论相关的
回复评论和审核评论
回复评论
审核评论(通过审核和不通过审核这两部分代码差不多的)
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| List<Comment> commentsToApprove = commentService.listByIds(idList); if (commentsToApprove.size() != ids.length) { Set<Long> existIds = commentsToApprove.stream() .map(Comment::getId) .collect(Collectors.toSet());
List<Long> notExistIds = idList.stream() .filter(id -> !existIds.contains(id)) .toList();
return ResponseResult.errorResult(AppHttpCodeEnum.SYSTEM_ERROR, "审核失败!!原因:以下评论 id 不存在:" + notExistIds); }
|
删除评论也和上面差不多,这里不展示了
总结一下
其实做这些在实际使用中不会遇到
这是为了做给后端测试用的
因为测试测试接口时不可能时刻知道这些参数是否真实存在
做检查也是有备无患
PS:该系列只做为作者学习开发项目做的笔记用
不一定符合读者来学习,仅供参考
预告
后续会记录博客的开发过程
每次学习会做一份笔记来进行发表
“一花一世界,一叶一菩提”
版权所有 © 2026 云梦泽
欢迎访问我的个人网站:https://hgt12.github.io/