up:: SpringBoot电商项目商品分类模块使用Swagger自动生成API文档
说明:
(1) 本篇博客内容说明:【更新目录分类】接口的开发;
(2) 本篇博客需要注意的点:
● 本篇博客,总体上没有什么新的内容;
● UpdateCategoryReq这个类,我们图省事,是复制的AddCategoryReq;然后,我们增加了id属性;;一定要记得添加id属性的get和set方法;否则,接口就会返回【id不能为null】的错误信息;
一:【更新目录分类】接口文档;以及该接口的几点说明;
说明:
(1) 【更新目录分类】接口,请求方式是POST;然后,其参数是放在body中的,JSON格式;
(2) 然后,更新的时候,是必须要传入id;其他四个参(name,type,parentId,orderNum),我们要更新哪个就传哪个值,如果不更新就可以为空;
(3) 因为【我们不允许分类的名字,重名】,所以,我们在更新的时候,也要防止重名的情况;如下图所示:
(4) 然后,更新操作,也要求有用户登录,且是管理员用户登录的情况下,才能操作;
二:正式开发;
1.在CategoryController类中,创建更新目录分类的方法:update()方法;
说明:
(1) update方法的url,参数,参数校验,要比照接口来书写;
(2)同理,创建UpdateCategoryReq这个bean,以在更新接口处接收参数;
UpdateCategoryReq:
UpdateCategoryReq类需要按照更新接口的参数要求来编写;
对于更新接口来说,要求id不能为null;其他四个参(name,type,parentId,orderNum)是可以为空的;
一个特别容易出错的点:
UpdateCategoryReq这个类,我们图省事,是复制的AddCategoryReq;然后,我们增加了id属性;;一定要记得添加id属性的get和set方法;否则,接口就会返回【id不能为null】的错误信息;
(3)方法说明;
Service层的update方法,在下一部分介绍;
2.在CategoryServiceImpl类中,创建更新目录分类的方法:update()方法;并在CategoryService接口中反向生成该方法的声明;
说明:
(1)方法说明:为了【防止分类重名】而添加的逻辑;
(2)因为传递参数,可能不全,所以调用updateByPrimaryKeySelective()方法,是非常合适的;
(3)在方法上添加@Override注解,并通过快捷键,在CategoryService接口中,反向生成updat()方法的声明;
3.启动项目,测试;
启动项目;
(1)正常的情况;
(2)失败的情况:没有通过重名的检查;