Serving Alternative Formats

环境端点的默认 JSON 格式非常适合 Spring 应用程序使用,因为它可以直接映射到 Environment 抽象。如果您愿意,可以通过在资源路径中添加后缀(“.yml”、“.yaml”或 “.properties”),将相同的数据当做 YAML 或 Java 属性来使用。对于不关心 JSON 端点结构或它们提供的额外元数据(例如,不使用 Spring 的应用程序可能会受益于这种方法的简单性)的应用程序,这可能很有用。

YAML 和属性表示形式有一个附加标志(作为名为 resolvePlaceholders 的布尔查询参数提供),当 possible 时,表示应在源文档(以 Spring 的标准 ${…​} 形式)中解决占位符,然后进行渲染。对于不了解 Spring 占位符约定的使用者而言,这是个有用的功能。

使用 YAML 或属性格式存在一些限制,主要与元数据的丢失有关。例如,JSON 被构建为一个有序的属性源列表,其中名称与源相关。即使值的来源有多个,YAML 和属性形式也会合并到一个单一映射中,并且原始源文件的文件名也会丢失。同样,YAML 表示也不一定是支持存储库中 YAML 源的真实表示。它是基于一个扁平属性源列表构造的,并且必须对键的形式做出假设。