【发布时间】:2021-08-21 11:13:34
【问题描述】:
我正在传递环境变量来运行 Spring Boot 应用程序。
现在我想公开一个端点以获取所有环境变量的值,以便在我正在运行的应用程序中使用它来调试某些问题。
有没有办法做到这一点?任何帮助将不胜感激?
【问题讨论】:
标签: java spring-boot rest environment-variables
我正在传递环境变量来运行 Spring Boot 应用程序。
现在我想公开一个端点以获取所有环境变量的值,以便在我正在运行的应用程序中使用它来调试某些问题。
有没有办法做到这一点?任何帮助将不胜感激?
【问题讨论】:
标签: java spring-boot rest environment-variables
你需要这样的端点
@GetMapping("env")
public Map<String, String> getEnv() {
return System.getenv();
}
如果您还想要所有应用程序属性,请尝试
@Autowired
AbstractEnvironment env;
@GetMapping("env")
public Map<String, Object> env() {
Map<String, Object> map = new HashMap();
for (PropertySource<?> propertySource : env.getPropertySources()) {
if (propertySource instanceof MapPropertySource) {
map.putAll(((MapPropertySource) propertySource).getSource());
}
}
return map;
}
【讨论】: