Convierta JSON a JSON Schema draft 4 compatible con Swagger 2.0
Me dieron algunos archivos JSON generados por una API REST con muchas propiedades.
He creado una definición de Swagger 2.0 para esta API y necesito darle el esquema correspondiente para la respuesta.
El principal problema: este archivo JSON tiene muchas propiedades. Me llevaría mucho tiempo y cometería muchos errores si escribo el esquema manualmente. Y no es la única API que necesito describir.
Sé que hay algunas herramientas para convertir JSON a esquemas JSON pero, si no me equivoco, Swagger solo tiene $ refs para otras definiciones de objetos, por lo tanto, solo tiene un nivel, mientras que las herramientas que he encontrado solo producen esquemas estructurados en árbol. Mi pregunta: ¿hay alguna herramienta para convertir un JSON (o JSON Schema) en uno compatible con Swagger 2.0?
Nota: Estoy trabajando en YAML pero no sería un problema, ¿verdad?
Por ejemplo, lo que necesito:
List of Movements:
type: "array"
items:
$ref: "#/definitions/Movement"
Movement:
properties:
dateKey:
type: "string"
movement:
$ref: "#/definitions/Stock"
additionalProperties: false
Stock:
properties:
stkUnitQty:
type: "string"
stkDateTime:
type: "string"
stkUnitType:
type: "string"
stkOpKey:
type: "string"
additionalProperties: false
Para mi documento JSON:
[
{
"dateKey": "20161110",
"stkLvls": [
{
"stkOpKey": "0",
"stkUnitType": "U",
"stkDateTime": "20161110T235010.240+0100",
"stkUnitQty": 30
}
]
},
{
"dateKey": "20161111",
"stkLvls": [
{
"stkOpKey": "0",
"stkUnitType": "U",
"stkDateTime": "20161111T231245.087+0100",
"stkUnitQty": 21
}
]
}
]
Pero quehttp://jsonschema.net/#/ me da
---
"$schema": http://json-schema.org/draft-04/schema#
type: array
items:
type: object
properties:
dateKey:
type: string
stkLvls:
type: array
items:
type: object
properties:
stkOpKey:
type: string
stkUnitType:
type: string
stkDateTime:
type: string
stkUnitQty:
type: integer
required:
- stkOpKey
- stkUnitType
- stkDateTime
- stkUnitQty
required:
- dateKey
- stkLvls
Soy nuevo en eso, pero curioso, no dudes en explicarlo profundamente.
Gracias de antemano por su ayuda !