提供替代格式
环境端点的默认 JSON 格式非常适合 Spring 应用消费,因为它直接映射到 Environment
抽象。如果你愿意,可以通过在资源路径后添加后缀(".yml"、".yaml" 或 ".properties")来以 YAML 或 Java properties 格式消费相同的数据。这对于不关心 JSON 端点结构或其提供的额外元数据的应用(例如,未使用 Spring 的应用)消费时会很有用,因为这种方式更简单。
YAML 和 properties 表示形式有一个额外的标志(通过名为 resolvePlaceholders
的布尔查询参数提供),用于指示源文档中的占位符(采用标准的 Spring ${…}
形式)在渲染输出之前应尽可能地被解析。这对于不了解 Spring 占位符约定的消费者来说是一个有用的功能。
使用 YAML 或 properties 格式存在局限性,主要在于元数据的丢失。例如,JSON 结构是一个有序的属性源列表,名称与源相关联。YAML 和 properties 形式合并成一个单一的映射,即使值的来源有多个源,并且原始源文件的名称会丢失。此外,YAML 表示形式也不一定忠实地代表后端仓库中的 YAML 源。它是由一组扁平的属性源构建的,必须对键的形式做出假设。 |