如果在其他配置文件中添加路由,为什么主配置中的路由没有加载?

Why the routes in main config not loaded if you add routes in other config file?

我正在设置一个 spring 具有 3 个环境(DEV、QA、PROD)的云网关应用程序。所有主要路由都放在主配置文件中,但我还有其他路由需要在环境配置文件中声明。请检查下面的示例配置文件:

test.yaml(主要)

 spring:
  cloud:
    gateway:
      routes:
        - id: test-routes-1
          uri: http://testing1.com/
        - id: test-routes
          uri: http://testing.com/

测试-dev.yaml

 spring:
  cloud:
    gateway:
      routes:
        - id: test-routes
          uri: http://testing-dev.com/

当我使用此配置文件部署应用程序时,只有开发路由可用,主配置中的其他路由不可用。我应该如何解决这个问题?

这是默认行为。没有办法解决这个 AFAIK。

Profile-specific properties are loaded from the same locations as standard application.properties, with profile-specific files always overriding the non-specific ones, whether or not the profile-specific files are inside or outside your packaged jar.

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-profile-specific-properties