yml文件不生效(yml文件语法)

yml文件不生效(yml文件语法)期望结果 通过输入 http 127 0 0 1 8080 first 跳到哔哩哔哩主页 然后通过修改 nacos 的配置中心里面 gateway 的配置 使得再次输入地址 跳到百度主页 整合 nacos 和 spring cloud gateway 使得 spring cloud gateway 能读取到 naco 的服务注册信息 通过这些服务注册信息进行分发 yml 依赖 注意 Hoxton SR4 这个版本是需要添加 spring boot starter validation 的 不然会报错的




期望结果:

  1. 通过输入http://127.0.0.1:8080/first,跳到哔哩哔哩主页。然后通过修改nacos的配置中心里面gateway的配置,使得再次输入地址,跳到百度主页
  2. 整合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接口,才会触发方法)

下面在下个图就是程序的走向。

spring gateway 映射配置不生效_其他

yml的依赖:

application.yml配置文件:

代码实现:

由上面的gateway的配置来看,我们是没有给gateway配置路由信息的。这时候我们是要通过nacos的统一的配置中心来做个配置。

注意: 我们这个是通过读取json的方式,来做解析的,这里断言和过滤器的的配置方式需要是使用Fully Expanded Arguments

可以看会我之前的有一篇叫做Spring Cloud Gateway入门demo博文里面的断言和过滤器配置方式章节,地址如下:

Spring Cloud Gateway入门demo - 大笨象会跳舞 - 博客园

新增一个配置信息:

spring gateway 映射配置不生效_其他_02

配置内容如下:

这个配置包括两个路由的信息

  • 第一个路由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的配置,使得再次输入地址,跳到百度主页


编程小号
上一篇 2025-03-23 09:17
下一篇 2025-05-31 14:57

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/20763.html