up:: SpringBoot电商项目商品模块后台的商品列表接口
说明:
(1) 本篇博客内容:开发【商品详情】接口;
(2)一个开发习惯: Service层的方法,其注释:最好不要带有太浓的具体业务指向,而应代用一般化的业务指向;比如:
PS:该项目,至此前面的Service中,很多注释自己写的都太带有有具体业务的色彩了;就不改了,以后注意;
一:【商品详情】接口介绍;
1.【商品详情】接口文档;
说明:
(1) 因为这个接口是前台的,所以是不需要管理员登录的;可以看到,我们在AdminFilterConfig中的配置,也不会拦截这个接口;
(2) 这个接口的返回值类型,要求是Product对象序列化为的JSON;
2.【商品详情】接口,在界面上的表现;
如果我们点击某个商品,可以查看该该商品的详情页;
二:正式开发;
1.创建ProductController类;创建查看商品详情的方法:detail()方法;
ProductController:
说明:
(1) 因为【针对管理员的】和【针对普通用户的】,其存在很多的不同;所以,我们把其拆成了不同的Controller,这样做逻辑更加清晰;
(2) 方法说明;
(3) 这儿调用了我们在Service层编写的,根据id查商品的方法:detail()方法;这在下一部分介绍;
2.在ProductServiceImpl中编写查看商品详情的方法:detail()方法;并在ProductService接口中,反向生成方法的声明;
声明: 虽然,在Controller我们分别创建了ProductAdminController和ProductController来分别对应【针对管理员的】和【针对普通用户的】;但是,在Service层,我们就没要区分了;;;;;因为,【针对管理员的】和【针对普通用户的】的很多业务,其背后逻辑是差不多的;我们写在一个Service中,也方便方法等的复用;
一个开发习惯: Service层的方法,其注释:最好不要带有太浓的具体业务指向,而应代用一般化的业务指向;比如:
(1)在ProductServiceImpl中编写查看商品详情的方法:detail()方法;
说明:
(1) 这儿是直接调用【mybatis-generator】帮我们生成的,根据id查数据的方法:selectByPrimaryKey()方法;
(2)在ProductService接口中,反向生成方法的声明;
三:测试;
启动项目;