Spring Spring 带有 MVC 的引导应用程序中的 Cloud Config 服务器
Spring Cloud Config server inside a Spring Boot app with MVC
我正在通过添加模块依赖性和 @EnableConfigServer
将 Spring 云配置服务器直接插入到我现有的 Spring 引导应用程序中。一切都按预期工作,除了我刚刚意识到配置服务器 URL 映射正在劫持我现有的一些 API 端点,因为它们共享相同的 server.port
例如,我在 v1/docs/index.html
有一个现有页面,现在将自动映射到 org.springframework.cloud.config.server.environment.EnvironmentController#labelled
,其中有
@RequestMapping("/{name}/{profiles}/{label:.*}")
public Environment labelled(@PathVariable String name, @PathVariable String profiles,
想知道我是否可以将配置服务器分离到不同的端口?或者给它加一个特殊的前缀来避免URL映射冲突?或者考虑到当前的可配置性,将现有 API 服务器用作配置服务器只是一个坏主意?
仔细阅读文档后找到了我需要的答案:)
https://cloud.spring.io/spring-cloud-config/spring-cloud-config.html#_spring_cloud_config_server
To change the location of the server endpoints you can (optionally) set spring.cloud.config.server.prefix, e.g. "/config", to serve the resources under a prefix. The prefix should start but not end with a "/". It is applied to the @RequestMappings in the Config Server (i.e. underneath the Spring Boot prefixes server.servletPath and server.contextPath).
我正在通过添加模块依赖性和 @EnableConfigServer
将 Spring 云配置服务器直接插入到我现有的 Spring 引导应用程序中。一切都按预期工作,除了我刚刚意识到配置服务器 URL 映射正在劫持我现有的一些 API 端点,因为它们共享相同的 server.port
例如,我在 v1/docs/index.html
有一个现有页面,现在将自动映射到 org.springframework.cloud.config.server.environment.EnvironmentController#labelled
,其中有
@RequestMapping("/{name}/{profiles}/{label:.*}")
public Environment labelled(@PathVariable String name, @PathVariable String profiles,
想知道我是否可以将配置服务器分离到不同的端口?或者给它加一个特殊的前缀来避免URL映射冲突?或者考虑到当前的可配置性,将现有 API 服务器用作配置服务器只是一个坏主意?
仔细阅读文档后找到了我需要的答案:)
https://cloud.spring.io/spring-cloud-config/spring-cloud-config.html#_spring_cloud_config_server
To change the location of the server endpoints you can (optionally) set spring.cloud.config.server.prefix, e.g. "/config", to serve the resources under a prefix. The prefix should start but not end with a "/". It is applied to the @RequestMappings in the Config Server (i.e. underneath the Spring Boot prefixes server.servletPath and server.contextPath).