SpringCloud 提供纯文本
除了使用Environment抽象(或YAML或属性格式的抽象表示之一)之外,您的应用程序可能需要根据其环境量身定制的通用纯文本配置文件。Config Server通过位于/{application}/{profile}/{label}/{path}的附加终结点提供了这些终结点,其中application,profile和label与常规环境终结点具有相同的含义,但是path是指向以下环境的路径文件名(例如log.xml)。该端点的源文件与环境端点的定位方式相同。属性和YAML文件使用相同的搜索路径。但是,不是汇总所有匹配资源,而是仅返回第一个要匹配的资源。
找到资源后,可通过对提供的应用程序名称,配置文件和标签使用有效的Environment来解析常规格式(${…})的占位符。通过这种方式,资源端点与环境端点紧密集成在一起。考虑以下用于GIT或SVN存储库的示例:
application.yml nginx.conf
nginx.conf如下所示:
server {
listen 80;
server_name ${nginx.server.name};
}和application.yml像这样:
nginx:
server:
name: example.com
---
spring:
profiles: development
nginx:
server:
name: develop.com/foo/default/master/nginx.conf资源可能如下:
server {
listen 80;
server_name example.com;
}和/foo/development/master/nginx.conf像这样:
server {
listen 80;
server_name develop.com;
}与用于环境配置的源文件一样,
profile用于解析文件名。因此,如果要使用特定于配置文件的文件,可以通过名为logback-development.xml(优先于logback.xml)的文件来解析/*/development/*/logback.xml。
如果不想提供
label并让服务器使用默认标签,则可以提供useDefaultLabel请求参数。因此,default配置文件的前面的示例可以是/foo/default/nginx.conf?useDefaultLabel。