Spring Boot电商项目30:商品分类模块九:前台的【分类列表(递归)】接口;(【创建CategoryVO这个bean,去包装查到的数据:以符合接口对返回的递归数据的要求】,【递归查询的逻辑】)

说明:

(1)本篇博客的核心是就一条:递归查询的解决套路;主要有两点:

          ● 由于接口文档,要求是返回的数据,需要是递归嵌套的数据;所以,要创建CategoryVO这个bean,去包装查到的数据;以满足接口对返回数据的格式的要求;

          ● 递归查询的逻辑;(这条尤为重要);

(2)本篇博客内容其实不难,但可能存在一定的理解难度;静下心来,仔细看,就很容易理解的;

目录

一:先看下接口文档和接口说明;

(1)前台的【分类列表(递归)】接口:在前台页面上的显示效果;

(2)前台的【分类列表(递归)】接口:接口文档;

(3)接口文档分析:结果;(递归数据的分析;创建,承载递归数据的实体Bean:CategoryVO)

二:正式开发;

1.在CategoryController类中,创建前台商品分类目录的方法:listCategoryForCustomer()方法;

2.在CategoryServiceImpl实现类中,编写分页查询的方法listCategoryForCustomer();然后在CategoryService接口中,反向生成方法的声明;

(1)在CategoryServiceImpl实现类中,编写分页查询的方法listCategoryForCustomer();(递归查询:核心,重点!!!)

(2)然后在CategoryService接口中,反向生成方法的声明;

3.在CategoryMapper接口中,定义【根据parent_id查询对应级别分类数据】的方法selectCategoriesByParentId();然后在CategoryMapper.xml中编写方法的SQL;

(1)在CategoryMapper接口中,定义【根据parent_id查询对应级别分类数据】的方法selectCategoriesByParentId();

(2)然后在CategoryMapper.xml中编写方法的SQL;

4.启动项目,测试;


一:先看下接口文档和接口说明;

(1)前台的【分类列表(递归)】接口:在前台页面上的显示效果;

可以看到,我们这儿的【商品分类】需要按照层级关系,递归的查询出来;


(2)前台的【分类列表(递归)】接口:接口文档;

因为,这个接口是前台的,所以这个接口不需要是会员(包括管理员)登录;即,这个接口的url是【/category/list】,没有admin;

该接口返回的内容:

{    
	"status":  10000,
	    "msg":   "SUCCESS",
	    "data":  [        
            {            
					"id":  3,
		            "name":   "新鲜水果",
		            "type":  1,
		            "parentId":  0,
		            "orderNum":  1,
		            "childCategory":  [               
                        {                    
								"id":  4,
			                    "name":   "橘子橙子",
			                    "type":  2,
			                    "parentId":  3,
			                    "orderNum":  1,
			                    "childCategory":  [                       
                                    {                            
											"id":  19,
				                            "name":   "果冻橙",
				                            "type":  3,
				                            "parentId":  4,
				                            "orderNum":  1,
				                            "childCategory":  []                        
									}                   
                                ]                
						},                 
                        {                    
								"id":  11,
			                    "name":   "草莓",
			                    "type":  2,
			                    "parentId":  3,
			                    "orderNum":  2,
			                    "childCategory":  []                
						},                 
                        {                    
								"id":  12,
			                    "name":   "奇异果",
			                    "type":  2,
			                    "parentId":  3,
			                    "orderNum":  3,
			                    "childCategory":  []                
						},                  
                        {                    
								"id":  14,
			                    "name":   "车厘子",
			                    "type":  2,
			                    "parentId":  3,
			                    "orderNum":  4,
			                    "childCategory":  []                
						},                 
                        {                    
								"id":  28,
			                    "name":   "其他水果",
			                    "type":  2,
			                    "parentId":  3,
			                    "orderNum":  4,
			                    "childCategory":  []                
						}           
                    ]        
				},         
            	{            
					"id":  5,
		            "name":   "海鲜水产",
		            "type":  1,
		            "parentId":  0,
		            "orderNum":  2,
		            "childCategory":  [              
                        {                    
								"id":  7,
			                    "name":   "螃蟹",
			                    "type":  2,
			                    "parentId":  5,
			                    "orderNum":  1,
			                    "childCategory":  []                
						},                 
                        {                    
								"id":  8,
			                    "name":   "鱼类",
			                    "type":  2,
			                    "parentId":  5,
			                    "orderNum":  2,
			                    "childCategory":  []                
						},                
                        {                    
								"id":  13,
			                    "name":   "海参",
			                    "type":  2,
			                    "parentId":  5,
			                    "ord
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值