Encontré esta especificación de esquema JSON aquí.
http://json-schema.org/understanding-json-schema/
Me pregunto si está relacionado de alguna manera con la especificación de API abierta.
https://swagger.io/specification/
¿Hasta qué punto ambas especificaciones son estándar? Sé que Open API se usa mucho, pero ¿realmente las principales empresas la adoptan como un estándar de facto?
¿Cuál tiene mejor soporte en Java y es "más" estándar?
Me refiero, por ejemplo, a partir de qué tipo de definición de API, ¿puede generar más fácilmente clases del lado del cliente para usar en su código de cliente?
Imagine que tiene una API que necesita consumir (a través de un cliente Java, por ejemplo). ¿Qué le pediría a su proveedor de API, pediría una definición de API de esquema JSON o una definición de API basada en API abierta?
El primer enlace es un sitio de documentación, que analiza JSON Schema, cuyo sitio oficial está aquí y cuya especificación está aquí . Los esquemas JSON se utilizan para describir y validar estructuras de datos de todo tipo (siempre que puedan representarse mediante el modelo de documento JSON), pero tienen un amplio uso dentro de las aplicaciones HTTP.
Swagger ahora se conoce como OpenAPI (con el cambio a la versión 3.x). Su sitio oficial está aquí y la última especificación está aquí . Utiliza JSON Schemas internamente como parte de su estructura de datos. Se dirige específicamente a la descripción (ya veces a la validación) de solicitudes y respuestas HTTP.
Ambos sitios tienen índices de implementaciones en varias plataformas e idiomas.
¿Hasta qué punto ambas especificaciones son estándar? Sé que Open API se usa mucho, pero ¿realmente las principales empresas la adoptan como un estándar de facto?
Ambos son extremadamente utilizados y, sí, son estándares de la industria.
¿Cuál tiene mejor soporte en Java y es "más" estándar? Me refiero, por ejemplo, a partir de qué tipo de definición de API, ¿puede generar más fácilmente clases del lado del cliente para usar en su código de cliente?
El propósito principal del esquema JSON no es especificar API. OpenAPI está hecho a medida para eso. Como dijo @Ether, It uses JSON Schemas internally as part of its data structure. Si su objetivo es generar Java a partir de una especificación de API, elija OpenAPI (suponiendo que su API sea REST o al menos REST-ish).
Imagine que tiene una API que necesita consumir (a través de un cliente Java, por ejemplo). ¿Qué le pediría a su proveedor de API, pediría una definición de API de esquema JSON o una definición de API basada en API abierta?
OpenAPI, según las explicaciones anteriores. :)