我在这里看到了这个JSON模式规范。
http://json-schema.org/understanding-json-schema/
我想知道它是否在某种程度上与开放API规范有关
https://swagger.io/specification/
-
两种规格在多大程度上都是标准规格?我知道Open API被广泛使用,但它真的被大公司采用作为一种实际标准吗?
-
哪一个在Java中有更好的支持;更多";标准
我的意思是,例如,根据哪种类型的API定义,您可以更容易地生成客户端类以用于您的客户端代码? -
假设你有一个API需要消费(例如通过Java客户端(。你会向API提供商要求什么,你会要求JSON模式API定义,还是要求基于开放API的API定义?
第一个链接是一个文档网站,讨论JSONSchema,其官方网站在这里,其规范在这里。JSON模式用于描述和验证各种数据结构(只要它们可以用JSON文档模型表示(,但它在HTTP应用程序中有广泛的用途。
Swagger现在被称为OpenAPI(迁移到3.x版本(。它的官方网站在这里,最新规范在这里。它在内部使用JSON模式作为其数据结构的一部分。它专门针对HTTP请求和响应的描述(有时还针对验证(。
这两个站点都有各种平台和语言的实现索引。
在多大程度上这两个规范都是标准规范?我知道Open API被广泛使用,但它真的被大公司采用作为一种实际标准吗?
两者都被广泛使用,是的,它们都是行业标准。
哪一个在Java中有更好的支持;更多";标准我的意思是,例如,根据哪种类型的API定义,您可以更容易地生成客户端类以用于您的客户端代码?
JSON模式的主要目的不是指定API。OpenAPI就是为之量身定制的。正如@Ether所说,It uses JSON Schemas internally as part of its data structure.
如果您的目标是从API规范生成Java,请选择OpenAPI(假设您的API是REST或至少是REST-ish(。
假设您有一个API,您需要使用它(例如通过Java客户端(。您会向API提供商要求什么?您会要求JSON架构API定义,还是要求基于Open API的API定义?
OpenAPI,根据前面的解释。:(