00:00
上一节课我们解决了跨域,我们继续呢来编写分类维护相关的代码,首先呢,我们来点击分类维护,我们将会发送请求获取我们的分类数据,但是呢,我们发现这个请求呢,现在是404跨域虽然解决了,诶我们允许跨域,但是呢,我们这个请求找不到,为什么找不到呢?我们可以看一下,我们首先呢会给网关八八发送API product这一串请求,那我们现在网关啊,默认是将所有的请求转给人人fast的,那其实呢,我们的这个API product category list这个请求应该转给我们的商品服务,所以呢,我们以后所有跟商品服务有关的请求,我们都是以API product前缀开始的,那我们就可以再在网关处编写一个路由,我们呢,让网关将所有和商品有关的请求转到商品服务好,我们呢,继续在这来定义一个路。
01:01
不由我们来写一个IDID呢,我们等于我们的product road,这是我们的这个uri,我们来写什么?我们来写LB load balance,我们要负载均衡的商品服务,那想要负载均衡的商品服务,商品服务就得在注册中心中有,那我们一会儿把它注册上来,好,我们先写负载均衡到商品服务,那我们的判断依据,哎,那predict case我们的断言,断言是什么呢?我们还是按照路径进行断言,如果呢,你是以API product。下的所有请求,那我们就应该路由的product服务,同样的我们也要路径重写,要不然的话我们就会出现这个情况,我们请求发送的是。Local host 88api product,但是呢,真正的到商品服务里边,我们最终访问的可能是这样,比如商品服务呢,是1万端口,我们最终呢访问的是没有API前置的,我们只留下这一块的,所以说呢,我们需要继续路径重写,那怎么路径重写呢?我们还是来写上咱们这个filters。
02:20
那我们这个filters里边首先有用第一个filter,我们就是重写路径的这个过滤器,请求一进来以后呢,他帮我们进行路径重写,那如何路径重写,就是API下的所有这个请求,把API前缀去掉,那剩下的剩多少就留多少。那最终就会变成我们把它删掉,留下他们就行了,好,我们把这个路由规则写好了,那想要能路由的这一块去,那我们的商品服务就得配置好,我们来到商品服务里边,那现在商品服务呢,只配置了马贝蒂斯相关的信息,我们并没有配置注册中心以及配置中心相关的地址,那好,还是按照我们以前的约定,我们的所有的配置可以放到配置中心,那配置中心呢,我们用boot strip.properties。
03:22
在这个里边呢,我们配上配置中心的地址,主要呢,我们先要配上应用的名字,我们当前应用的名字是它,然后呢,我来指定一下配置中心的地址,NAS config server a drr127.0.0.1冒号8848。好,我们在这指定好配置中心的地址以后呢,接下来我们再来指定我们配置中心用的namespace名称空间,按照我们以前应用的约定,每一个应用在自己的配置中心里边都用自己的名称空间来存储配置,这样来做到配置隔离,那我们在这命名空间里边,我们再来新建一个命名空间,创建我们的product命名空间,好,这是我们商品服务,那商品服务以后的配置呢,都放在这个命名空间里边,那这个命名空间呢,我们把它的命名空间唯一ID来复制来。
04:24
那同样的命名空间里边呢,就可以有一个鼓励mail-product。来找一下在配置里边product,那如果我们想抽取配置,我们默认就可以把它抽取在古mail-product的一个配置文件里边,比如我们用压面,那我们就可以来选中这个压面,那我们用properties就可以选中properties,好,现在我们没有什么配置,我们就可以不添了,好放在这儿,接下来呢,我们再来配置上注册中心相关的地址,我们还可以在压ma里边,我们的properties配置文件我们就可以不用了,我们留下application页面,那们在这呢,来配置注册中心,注册中心呢,NAS discovery server a drr,注册中心的地址呢?127.0.0。
05:14
点一冒号8848,这样我们就方便的将它注册到了注册中心中去,当然除了这个配置,我们还需要开启服务注册功能,我们在主程序里边,我们使用一个注解at enable discovery client开启服务的注册发现功能,我们后来所有的服务都需要做这么一套,那我们把我们的product服务来重启一下,那先来看他能不能注册到注册中心中。我们在这一块来准备看服务列表里边,我们当然看这个public的名称空间里边,我们的服务如果上线,在这里块就会有我们其他的名称空间呢,只是用来做配置隔离的,那我们服务的注册都默认注册到public下,好我们来刷新一下,现在呢,我们鼓励mail product已经注册上来了,那这样的话,我们的网关就能实时的发现我们的。
06:17
鼓励mail product服务在哪里,并且负载均衡路由到这,那我们可以重启一下网关。那以前呢,我们这一块是404的找不到的,我们等待网关重启以后,我们现在测试一下能不能找到,我们也可以把以前的地址拿来,我们直接在这儿访问一下,我们直接访问网关,带上API,带上我们真实想要去的路径,我们在这儿回车。我们发现呢,在这返回了一个叫inva的token,就是呢,非法的令牌,这是我们后台管理系统里边,如果我们没有登录,没有带令牌访问任何请求都是这样的,那说明我们这一块路由没有生效,被这一块给拦截到了,所以呢,我们来说一下由为这两个啊,都是按照路径进行判断,但是呢,我们的请求仪进来,虽然是product,但是呢,这个断言会提前生效,那相当于被这一块就路由走了,转到后台管理系统人人fast里边,转不到我们的product里边的,那这种情况呢,我就需要调整一下我们这个路由顺序,我们把我们的精确的路由我们放在高优先级,我们这些模糊的路由放在最终的低优先级里边,好,我们重新来启动网关。
07:50
这样呢,它来发送请求API product,那它会先优先适配到这一块的断言,而不是适配到这一块的断言,好,我们现在呢来测试一下回车。
08:06
我发现呢,现在数据呢,我们就已经要到了,那同时我们在这一块我们把控制台清空来刷新一下。那我们这一块呢,我们的tree这个请求get请求200已经OK了,Trade的第一个是option它的哨兵,然后呢,接下来再发真实的请求,最终的响应我们看到这儿来,他就要到我们的菜单数据,那我们的菜单数据呢,就要展示到这一块,怎么展示呢?我们来到我们的后台管理系统的前端项目里边,那还是在这个category view,我们把其他的都先关掉。我们在这一块呢,Get menu方法,在我们组件一创建的时候,我们就调用了,调用的请求就相当于发出去了,那我们这一块就会有成功获取到菜单数据,我们看控制台。往上翻,我们这儿呢,有成功获取到菜单数据,诶已经拿到了,而且我们整个data的内容是这样子的。
09:06
我们发现呢,它是一个对象,对象里边有非常多的属性,有data head request,而真正的返回内容是在data里边,所以我想要用这个返回内容,我这么来写,我把这个data塔呢,我写上一个大括号,这个大括号呢,就是我们说的解构,我们把这个参数啊解构出来,因为我们最终返回的这个对象里边,只有这个data塔是我们要用的数据,所以我把这个整个对象里边的data解构出来,这个里边的data才是我们真正的数组内容,所以我在这data。Data,我们就能拿到我们数组的内容来保存一下,我们重新发送请求。我们看一下控制台,现在这个data呢,就是我们所有的菜单数据,那我们这些菜单数据呢,我们就先要给它赋值过去,我们赋值给谁呢?赋值给我们的这个data,我们在这个5U组件里边冒号data,相当于我们绑定了一个属性,这属性呢,跟组件里边的data进行绑定,就是在这data,那我们都叫data,难看的很,我们就叫manus,那相当于跟我们的这个manus进行绑定,那我们的这个manus呢,我们就相当于已经查出数据了,那在这呢,只要then查到了数据,我们就可以this.manus我们把这个菜单数据呢,就给它赋值过来,等于什么呢?就等于我们最终的data.data这是一个数组,我们来保存一下,看一下我们的整个唯有实例,我来刷新。
10:54
我们的分类维护里边呢,我们现在已经看到东西了,我们还可以进行展开,只是呢,这一块的展开里边什么都没有,也就是说呢,它又没有正确的显示出每一个节点的内容,那如何正确的示出,那我们就可以继续来参照这一块在这里边呢,还有一个叫prop prop呢里边绑了default prop在这一块呢,有两个设置,一个叫children,一个叫label,那这个children呢,指的就是我们返回的这些数据里边,来看一下我们返回的这些数据,每一个对象里边哪个字段表示的是它的子节点,那我们说了这个丘疹字段是子节点,那我们还可以说哪一个字段要进行显示,那我们的每一个菜单呢,都有一个name属性,它是要进行真正显示的,所以我们把它调成name,这个呢在官方文档都可以找到,我们在组件里边一直往下翻。
11:55
嗯。这有一个props,就是我们可所有可设置项,其中呢就有label label呢就是我们哪个属性是作为标签的值展示出来的,我们的求证呢,就是哪个属性是指定这个节点的所有子数的,那我们来写好了以后呢,我们把它保存,重新看一下我们这个页面,诶我发现呢,这块就可以展开了。
12:22
点击展开这一块呢,都会有这些数据,那我们的这个菜单呢,就算是显示出来了,我们呢,重新把数据库这一块呢,都给它顺序改好,我们把原来的这个菜单顺序都改好。在我们的category里边,好,我们这些顺序呢,我们就000。来保存一下,重新来刷新一下我们这一块。那至此呢,我们这个所有的菜单都展示到这儿了,我们想要对他们进行增删改查,我们还是之前的那个流程,每做一件事呢,我们给后台发送请求,我们给网关发请求,网关路由过去处理完了以后呢,我们只需要跟VU的这些数据进行绑定,它呢就会动态的将我们的页面进行变化,包括呢,我们这一块的增删改查效果怎么做,我们也可以参照我们组件里边,比如呢,我们这一块呢,就会由openendend给里边填东西,Delete delete删除,那么下一节课呢,就把这一块来细化一下。
我来说两句