【问题标题】:Is there a standard for specifying a version for json schema是否有为 json 模式指定版本的标准
【发布时间】:2020-04-07 09:53:27
【问题描述】:

我们的一个开发合作伙伴询问是否有一种方法可以在我们的 JSON 架构定义中指定接口版本。没有"$version" 密钥,所以是否有我们应该遵循的公认“标准”(我不能使用$id,因为我们在其他地方使用$ref,因此文档将不再验证) .我们在 Draft-6 上,所以 $comment 本身不可用。

Validation-wise XML Spy 很高兴我能在顶层添加一个 "version" 键,所以我可以这样做,但如果有更常用的方法,我宁愿这样做。

【问题讨论】:

    标签: json jsonschema


    【解决方案1】:

    JSON Schema 没有定义执行此操作的标准方法。 允许向模式添加键,因为处理器将忽略未知关键字。

    我通常建议使用$id 进行版本控制。语义版本控制作为 $id 值的一部分。您必须更新您的参考资料,但您可以确保您保持对 semver 的期望。

    通常,大型项目会创建发布包,然后将一组模式置于特定的 semver 下。例如人类细胞图谱:https://schema.humancellatlas.org/a

    也没有什么可以阻止您使用您在架构根级别选择的键来创建一个新对象以包含您想要包含的有关架构的所有元信息。

    【讨论】:

      【解决方案2】:

      Snowplow 的 SchemaVer 架构语义版本控制是一个选项。

      【讨论】:

        猜你喜欢
        • 2011-08-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-31
        • 1970-01-01
        • 2013-07-03
        • 1970-01-01
        相关资源
        最近更新 更多