期望结果:
- 通过输入http://127.0.0.1:8080/first,跳到哔哩哔哩主页。然后通过修改nacos的配置中心里面gateway的配置,使得再次输入地址,跳到百度主页
- 整合nacos和spring cloud gateway。使得spring cloud gateway能读取到naco的服务注册信息,通过这些服务注册信息进行分发。
yml依赖:
注意:Hoxton.SR4这个版本是需要添加spring-boot-starter-validation的,不然会报错的。其他版本不清楚会不会
bootstrap.yml配置:
java代码实现:
启动类:
nacos动态路由实现类:
整体实现:
- 因为实现了接口,所以项目启动的时候会触发方法。
- setApplicationContext: 监听节点的变化,如果节点变化就发送RefreshRoutesEvent事件。
- gateway收到RefreshRoutesEvent事件的话,就会触发getRouteDefinitions方法了(这里需要实现RouteDefinitionRepository接口,才会触发方法)
下面在下个图就是程序的走向。
yml的依赖:
application.yml配置文件:
代码实现:
由上面的gateway的配置来看,我们是没有给gateway配置路由信息的。这时候我们是要通过nacos的统一的配置中心来做个配置。
注意: 我们这个是通过读取json的方式,来做解析的,这里断言和过滤器的的配置方式需要是使用Fully Expanded Arguments
可以看会我之前的有一篇叫做Spring Cloud Gateway入门demo博文里面的断言和过滤器配置方式章节,地址如下:
Spring Cloud Gateway入门demo - 大笨象会跳舞 - 博客园
新增一个配置信息:
配置内容如下:
这个配置包括两个路由的信息
- 第一个路由first_route: 当输入127.0.0.1:8080/first_route 路径的时候会跳到https://www.bilibili.com/页面
- 第二个路由nacos-client: 当输入127.0.0.1:8080/nacos/say/的路径的时候会跳到lb://nacos-client/页面。
通过输入http://127.0.0.1:8080/first,跳到哔哩哔哩主页。然后通过修改nacos的配置中心里面gateway的配置,使得再次输入地址,跳到百度主页
到此这篇yml文件不生效(yml文件语法)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/64543.html