我们的一个开发合作伙伴询问是否有一种方法可以在JSON Schema定义中指定接口版本。没有"$version"
密钥,所以我们是否应该遵循一个公认的“标准”(我不能使用$id,因为我们在其他地方使用$ref
的,所以文档不会再验证)。我们在草案6中,所以$comment
本身不可用。
在验证方面,XML非常乐意将"version"
键添加到顶层,所以我可以这样做,但如果有更常用的方法,我更愿意这样做。
发布于 2020-04-07 18:19:02
JSON Schema没有定义的标准方法来实现这一点。允许向架构添加键,因为未知关键字将被处理器忽略。
我通常建议使用$id
进行版本控制。语义版本控制作为$id值的一部分。你必须更新你的推荐人,但这样你就可以确保你保持更高的期望值。
通常,大型项目会创建发布捆绑包,然后这些捆绑包会有一组存在于特定服务器下的模式。例如,人体细胞图谱:https://schema.humancellatlas.org/a
也没有什么可以阻止您在模式根级别使用您选择的键创建一个新对象,以包含您想要包含的有关模式的所有元信息。
发布于 2020-10-26 18:46:37
Snowplow针对模式的SchemaVer语义版本控制是一种选择。
https://stackoverflow.com/questions/61077293
复制相似问题