我可以从Spring Cloud Config Server获取单个属性值吗?

时间:2017-08-31 15:02:53

标签: spring-cloud-config

我希望从命令行 wget / curl调用从Spring Cloud Config Server获取单一属性值

单个值,因为否则我必须将它们从响应中解析出来,并且我希望保持bash脚本尽可能简单

Spring Cloud Config Server的文档说明了REST API的可能性如下

/{application}/{profile}[/{label}]
/{application}-{profile}.yml
/{label}/{application}-{profile}.yml
/{application}-{profile}.properties
/{label}/{application}-{profile}.properties

是否有技巧可以获得单一值?我搜索了很多但没有发现任何东西。看起来并不是一个巨大的需求。

或者我可以扩展Config Server的EnvironmentController 来实现此功能吗?我没有找到任何有关扩展Config Server的REST API的资源。

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

回答我自己的问题:Spring Config Server有某种模板机制。有了这个,你可以基本上服务你想要的任何东西

在文档中,这不是很明显,因为它被称为Serving Plain Texthttp://cloud.spring.io/spring-cloud-static/spring-cloud-config/1.3.4.RELEASE/single/spring-cloud-config.html#_serving_plain_text

即使文档中的示例也不是提供纯文本,而是提供结构化配置格式。

答案 1 :(得分:0)

仅以@burki的答案为例,您可以放置​​一个名为foo-details.json的文件,其内容如下所示:

{
    "my-custom-key": "${some.value.from.another.upstream.config:default-value}"
}

,当您从配置服务器获取该文件时,它将具有替换值:

https://config.your-company.com/foo-app/some-profile/some-branch-name/foo-details.json