一、配置如何发送请求访问到真正的三级分类数据
在解决跨域问题之后可以登录人人快速开发平台,但是点进去分类维护列表时,会发现在访问product/category/list/tree时报错,因为请求是去网关(88)里找分类的数据,而真正的三级分类数据是在gulimall-product服务里,所以要在网关里进行路径重写:
如果像上图中路径重写的配置顺序是renren-fast在上,gulimall-product在下,那在重启网关后,访问http://localhost:88/api/product/category/list/tree时,会出现如下问题:
这是因为请求被在上方的renren-fast路由给拦截了,所以请求最终是被转入renren-fast而不是gulimall-product,所以应将两个的路由配置调换顺序,把精确的路由(/api/product/)放在高优先级,把较为模糊的(/api/)在低优先级:
此时重启网关服务再次访问http://localhost:88/api/product/category/list/tree,能成功展示出数据:
登录人人快速开发平台,刷新分类维护也不会再报错:
说明
- 配置product商品服务路径重写的原因:因为发送的访问三级分类的请求是:http://localhost:88/api/product/category/list/tree,访问真实的三级分类数据的请求是:http://localhost:10000/product/category/list/tree,如果不进行路径重写访问的将是:http://localhost:10000/api/product/category/list/tree,所以进行路径重写是为了去掉api/。
- 需要给gulimall-product配置注册中心和配置中心:
二、前端查询菜单三级分类数据
在上面真正的访问tree的请求已发送成功,此时打开控制台可以看到:
而我们真实想要的是data里的data所以前端应修改成:
此时只能看到,分类维护中有了层级显示:
若想将三级分类的数据进行显示,需要对属性值进行调整: