Spring Boot入门(第二十八章):文章分类
之前我们做了文章功能,我们的文章一般都是会挂在一个分类下面,接下来我们做文章分类。
1、文章分类
Entity
Repository
Service
Controller
经过上一节的重构后,可以看到,我们可以很顺畅地将通用的增删改查完成。测试的时候,我们先把权限判断的方法注释。
我们将前端菜单的页面复制过来,改成对应的文章分类的页面,代码就不贴了。
然后测试文章分类,发现新增节点(没有父节点的时候),后台报错了。原因就是传值的时候,父传了个空id
后台没有检查父id的有效性,所以报错了。我们来完善一下BaseTreeEntityController,重构一下保存和更新方法,对父id进行检查
这里,我们只要修改一个地方,所有的树形结构对象都会一起生效,这就是重构给我们带来的另外一个好处。
另外测试编辑根节点的时候,发现报错,也是因为父节点为空导致的,我们修改下编辑页面
最后我们把权限和菜单加上
添加几条测试数据
2、文章关联文章分类
文章分类建好了,但是我们还没有和文章关联起来。其实文章和文章分类的关联与角色和菜单的关联原理上是一样的。我们可以像角色列表一样,添加分配文章分类的按钮,但一般情况下,我们一般是在写文章的同时,设置文章分类,即在新增和编辑表单的时候处理。当然两者都有更好,列表页面的方式就不再说了,读者自己实现。
首先我们Post先增加categorys属性
先处理文章新增
页面效果
现在我们的文章分类还不能保存到后台,我们修改下表单提交的方法
测试新增没问题后,我们再处理编辑。编辑页面和新增不同的地方
这样文章分类这个功能就差权限了,我们把权限加上。一般来说,文章分配权限就跟新增和编辑是一致的。
3、总结
这节主要讲利用上节重构好的代码,怎么快速开发我们的文章分类功能,并将文章功能串起来。其实我们前端页面可以看到很多代码也是可以复用的,特别是如果使用的是TypeScript的话,基本上可以跟java后端进行类似的封装,大量使用继承和泛型,但这里前端不是我们的重点,就不再多说了。
代码:
https://github.com/www15119258/springboot-study/tree/branch28