提供替代格式
环境端点的默认 JSON 格式非常适合 Spring 应用程序使用,因为它可以直接映射到Environment
抽象。如果需要,可以通过在资源路径中添加后缀(“.yml”、“.yaml”或“.properties”)来将相同的数据作为 YAML 或 Java 属性使用。这对于那些不关心 JSON 端点结构或额外元数据的应用程序非常有用(例如,不使用 Spring 的应用程序可能会受益于这种方法的简洁性)。
YAML 和属性表示形式具有一个额外的标志(作为名为resolvePlaceholders
的布尔查询参数提供),用于指示是否应在渲染之前解析源文档中的占位符(采用标准 Spring${…}
形式)。对于不知道 Spring 占位符约定的使用者来说,这是一个有用的功能。
使用 YAML 或属性格式存在一些限制,主要与元数据的丢失有关。例如,JSON 被构造为属性源的有序列表,其名称与源相关。即使值的来源有多个源,YAML 和属性形式也会合并到单个映射中,并且原始源文件的名称也会丢失。此外,YAML 表示形式也不一定是后端存储库中 YAML 源的忠实表示。它是根据一系列扁平的属性源构建的,并且必须对密钥的形式做出一些假设。 |