我有一个Spring Boot
应用,如下所示:
@SpringBootApplication
@EnableResourceServer
@EnableDiscoveryClient
public class App
{
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
我在application.properties
中配置了oauth2属性。
security.oauth2.resource.user-info-uri=http://localhost:9000/user
但是,我需要根据发送到URI
应用的请求更改此Spring Boot
。
例如:
如果我收到Spring Boot App
到网址htpp://test.localhost:8000
的请求,我希望user-info-url
为http://test.localhost:9000/user
。
但如果我收到http://localhost:8000
的请求,我希望user-info-url
为http://localhost:9000/user
。
我的目的是根据子域管理不同的环境。
有没有办法在代码中动态更改此URI
而不是将其硬编码为属性?
答案 0 :(得分:0)
通过利用Spring Cloud Config服务器,您可以外部化配置并将更新推送到应用程序属性。一个简单的实现由Git存储库支持,您将在其中存储application.properties文件。您提交更改,然后向POST
请求/refresh
端点,该端点将触发重新加载配置。
还有更高级的场景,但希望这足以让你入门。
这是一个简单的Getting Started指南。