我希望从命令行 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的资源。
感谢您的帮助
答案 0 :(得分:1)
回答我自己的问题:Spring Config Server有某种模板机制。有了这个,你可以基本上服务你想要的任何东西。
在文档中,这不是很明显,因为它被称为Serving Plain Text
:
http://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