00:00
咱看最后一部分啊,就是在网关中,我的课件中还有另外一部分代码,而这些代码不需要各位去写一遍,因为都是一些固定写法,而这些代码主要干什么呢?给大家强调,比如说第一个各位注意啊,咱之前每个CTRL中是不是都需要加这个注解,是不是跨域,但是现在用了KTV网关之后,这个咱不需要加,咱可以怎么做呢?就是在我这个反问过程中,在网关这一层咱做跨域处理可以,就是把这过程在网关层就做到了,你到CTRL中不需要额外加它就能实现这过程,这叫就是统一解决跨域。另外比如说你的操作中有异常,那就把异常在网关端统一做处理,这些可以做到。另外比如说你操作中有权限,然后把权限在网关中统一做控制,都可以做到,就通过网关把之间的跨域问题可以解决啊,所以下面这些都是这些内容。但是这些代码是一些固定代码啊,不需要各位去写一遍,我在今天的源码中给大家提供这些东西,各位用的话直接复制可以的,不需要各位敲点啊,敲这个没有什么意义啊,那我把这个给大家复制过来啊,就是里边这三个啊,就是你把这三个文件夹直接复制到我们当前的项目中来,复制到这位置。
01:21
给他拿过来啊,然后咱看一遍,各位能看懂可以,不需要你挑固定的啊。就这三个啊,那咱们来一个个看一下啊,这几个都是什么。首先大家看第一个这个。这个包是我随便起的,这包不一定叫这名字,但是类都这么写的,第一个叫cross,这个conig,这是写的一个配置类,然后这配置类什么意思呢?你看这里边啊,其实它解决就是咱们那说的跨域问题,因为咱之前跨域加注解,现在我在网关中可以统一解决跨域就是加一个配置类里面加一个插件配置就可以做到啊,是固定的,就让你所有请求都没有跨域,用这个做解决。
02:03
啊,这是第一个解决跨域的这么一个类啊,这各位给他知道啊,然后里边还有第二个,第二个呢是一个filter,这filter是什么?是一个全局filter,比如这里边我们这些控制,比如你现在让哪些请求可以访问,哪些请求不可以访问,当你有失败会输什么值在里面定义。比如你看我这里边啊,我这里规定,当咱访问地址中有这个地址,它必须是登录,如果说你是这个地址啊,它就不允你访问啊,就是做一些那种权限的控制啊,也是一些基本的一些代码,然后如果我们改的话,就改成你地址,假如现在我约定我带个的mean的不能访问,或者带什么的可以访问,在里边改它的地址啊,这是一个简单的一个be过滤器。然后下面部分就是它一些异常处理在里边也可以做到啊,里边都是一些插件的配置,就是固定一些写法,然后包括你最终返回值,咱们可以给他写一些。
03:01
值的一些操作啊。主要这么几个工具类啊,咱用的话直接复制就为了后面方便。主要是工具类的一些说明。这个啊,把网关我们就最终介绍到了啊,所以这是关于我们最终说的死人可漏里边的位网关,所以学到这儿要各位记住啊,咱目前学到人口里边有很多的东西,就很多组件我们都学过了,咱回过头来看一下啊。里面第一个内容。首先我们看第一个啊,第一个叫注册中心。或者说叫副发现,它的原生的叫E瑞口,但是我们现在用的叫naco,因nacos比它更加强大啊,这是第一个我们学到,第二个叫fit做这个服务调用,就是一个模块调另一个模块,用这个fit做服务调用。第三个叫he tricks是一个叫熔断器,或者叫断路器,当你程序有问题,它会执行,咱之前演示过,然后第四个叫B例会网关,就是咱们刚才这个效果,通过网关可以访问。
04:04
咱之前NEX用它可以替代掉,它能实现出N这个里边的效果。另外它做法。更加的方便,比如咱刚才做这个配置里边通过配置文件可以做到啊,这是我们说的网关,然后后面给大家还有讲的这个config,就是做那个配置中心啊,咱现在把这些应该都说完了啊,所以这是关于网关部分,在网关里面呢,要和各位就是第一个啊,你把这配置能给你配置出来,然后通过配置能做到我们刚才里边这个效果啊,就行做到,然后在里边有一些工具类,工具类呢,各位从我的源码中把这个网关中这个直接复制过来可以的,因为它里边不需要你敲,是固定写法。啊,这是我们说的第二个啊,然后第三个呢,咱们还有一个细节给大家特别说到啊,一会我会演示,我先强调一下啊什么细节。各位注意啊,我刚才写的这个类。
05:00
前刚说过,这个类做的是不是解决跨域啊,我强调啊,如果说你现在用网关进行访问,那这个能解跨域,而咱们这么写之后,你就不要在这个CTRL里边再加上这个注解了,如果你加上的话会有问题,有什么问题呢?它是不是给你解决了两次跨越,第一次已经跨过去了,第二次是不是又跨一次了,会造成一个问题啊,第一次已经跨过去了。第二次怎么样,又跨回去了,又回又回去了,所以它还是过不去,所以里边不能写两次,我们只能写一次,要么你在网关中处理,要么在CTRL中加,这注解只能加一个地方,两个不能都加,都加的话,它最终就回去,已经跨过去了,然后它又跨回去了,这效果就出不来啊,这个各位给头注意一下啊,所以这是咱说的里边的几个。细节问题啊,然后咱们最后把我刚才说这个给大家来演示一下啊,就说这个跨域这个问题,那咱们演示,比如说我现在啊,我把这些咱们看一下啊。
06:02
他就以这个。讲师,包括登录,其实登录就能演出来啊,里边都加这个跨域注解,然后在网关中咱也加上了跨域这个配置类啊,这些咱们都加上了,然后下面啊,咱用前端页面把效果咱看一下,目前有什么问题啊,就刚才我说这个啊。但是你现在演示中有一点需要改一下,就是这个地方啊。咱之前用的901是不是这个N这个端口啊,但是现在要改成网关,咱网关是谁,是不是这个8222啊,用它做修改啊,这你要改成网关地址。啊,咱们看一下啊,别改错。网关应该是这个822,我把这个啊复制过来。可能我写错啊,咱改成网关,然后改完之后把这个就是项目的后台系统,咱给它启动起来,然后咱们来做一个测试啊,看一下问题,包括它这个特点给它启动啊。
07:01
咱等它停起来,然后咱们做个访问,因为现在不需要NEX了,但是用网关,所以这index后面就可以不启动了啊,咱直接用把这网关服务启动效果就可以做到了啊。这个应该都启动了啊,然后咱看这个启动了啊,启动之后打开这里边啊,比如现在啊,为了明显,我先把这内容先给他,咱先给它清掉啊。全都清掉。清楚一下啊,然后咱们重新进行这么一个登录。我们到这个页面啊,然后在这个页面中呢,现在我们要做个登录,当然这个登录后面咱们可能会改成那个SP security啊,目前还是用之前就是这个类做登录啊,用它做登录,那咱看现在用网关登登录啊,我们来试一下啊,我点登录。大家看啊,诶目前。登录进去啊,那我们试一下里边啊,比如里边我点一个讲师列表。
08:03
这个啊,应该是可以访问到的,诶,我这应该是改过了啊,它默认应该有一个问题啊,就是这个咱不能加加上啊。诶,我这是加上了啊,那我再试一下啊。比如现在我把这个重启啊,因为刚才我应该是加了那种没有重启啊,咱重新试一下啊,就是刚才问题是呢,我这个是先重启的,我是不是后复制这些类啊,然后他就没有啊。重启一下啊来测试,目前应该是有问题的,它应该是登不进去的啊。刚才我是没重启重新试啊。重新启动,这是API网关。行起来啊。然后咱们再使用这个E丢。啊,重新做个测试啊。咱们把刚才我说那个效果给大家说一下,也就是说你解决跨域只能加一个地方,不能往关中加,然后那个CTRL上又加注解,这样的话会造成两次跨域就会有问题。
09:03
这个啊,重新启动。刚才是没重启啊。这个应该都可以了啊,然后都可以之后咱最后把效果我们再重新试一下啊,这个还是先给它清掉。咱重新操作啊。清除掉,然后咱们再给他。回来。到这个页面啊,然后在页面中大家再看啊,现在我登录。可以看到。是不是就报错了,他就没登进去,然后没登进去之后呢,大家看他报什么错啊,这错跟之前报的错有点不太一样,咱仔细看啊,前面还是这个错误。但你看错误是什么,他这里写到,咱看这句话啊。叫is self,这个for什么?Not not size。什么意思呢?也就是说啊,他就告诉你,你已经允许了,然后这里边你又不允许,就是当你看到这个错误,你要知道他是因为你跨域跨了两次,第一次已经跨过去了,第二次又给它跨回去了,所以它就登不进去,会造成这个问题,因为咱们现在代码中,我在这位置加了跨域,在类上也加了注解,所以他就登不进去,最终会报这个错误,说你已经在之前解个跨域,但你后面又做了跨域,它就有问题了。
10:22
啊,主要是这个错误啊,那比如说我给他解决一下啊,解决方式就是两种,第一个你把这个类去掉,或者说把这注解去掉,任何一个都可以啊,那我就直接去这个注解。比如说我现在啊,在烙印里边,把这个咱给它注掉啊,这个我已经注掉了啊,就是。这个啊先。数掉。好啊,然后第二个比如说我在这个teacher里边,把这个咱给它也是注掉。这些都给它先拿掉啊,然后咱们再做个测试,这样的话应该就可以了,就是解决一个地方就可以做到。
11:01
这是咱们啊说的这个问题啊。我重新启动一下啊。然后重新启动之后啊,我们最终再做个测试啊。等它停起来啊。啊,这个可以了啊,包括这个咱也加了这些配置类,应该都加上了啊,然后咱们最后来做个测试,这个我先刷新。刷新之后点登录。呃,我们看啊。还有这个错。看这里边啊,说哪里写的不对啊。它叫EDUU烙印。那我给他啊,比如说给他重新弄一下啊。这是解决了跨域,这句话应该是咱给他已经去掉了啊,那这样我把这个。都重新重启一下啊。
12:02
API往前重启,咱再启用这个edu。最终啊,我们做个测试效果肯定是对的啊,因为第一次我们测试能登录成功,后来我给他加上,然后他又解决不了了嘛,就是做了这个会的问题啊,或者说呢,你把这个去掉应该也可以做到啊。
我来说两句