本文最后更新于 2025年11月26日 晚上
分类列表的实现
分类列表的需求
页面上需要展示分类列表,用户可以点击具体的分类查看该分类下的文章列表
注意:
①要求只展示有发布正式文章的分类
②必须是正常状态的分类
分类列表接口分析设计
在前端分类列表中需要返回的数据应该有:
分类名称:前端显示用
分类id:用户点击分类名称时需要根据分类id来进行跳转到相应的分类列表
代码实现
一键生成对应类于接口
首先要实现这个功能,就会涉及到数据库的多表查询,会用到先前数据库中的article表
先一键生成对应的类和接口
然后在CategoryServiceImpl中编写需要实现的业务代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| @Service("categoryService") public class CategoryServiceImpl extends ServiceImpl<CategoryMapper, Category> implements CategoryService {
@Autowired private ArticleService articleService;
@Override public ResponseResult getCategoryList() { LambdaQueryWrapper<Article> articleWrapper = new LambdaQueryWrapper<>(); articleWrapper.eq(Article::getStatus, SystemConstants.ARTICLE_STATUS_NORMAL); List<Article> articleList = articleService.list(articleWrapper); Set<Long> categoryId = articleList.stream() .map(Article::getCategoryId) .collect(Collectors.toSet()); List<Category> categories = listByIds(categoryId); categories = categories.stream() .filter(category -> SystemConstants.STATUS_NORMAL.equals(category.getStatus())) .collect(Collectors.toList()); final List<CategoryVo> categoryVos = BeanCopyUtils.copyBeanList(categories, CategoryVo.class); return ResponseResult.okResult(categoryVos); } }
|
最后封装CategoryVo类
测试接口成功
前端返回数据成功
PS:该系列只做为作者学习开发项目做的笔记用
不一定符合读者来学习,仅供参考
预告
后续会记录博客的开发过程
每次学习会做一份笔记来进行发表
“一花一世界,一叶一菩提”
版权所有 © 2025 云梦泽
欢迎访问我的个人网站:https://hgt12.github.io/