Estoy tratando de validar mi API JSON utilizando node.js + json-schema.js de commonjs-utils. La validación única fue fácil, pero no se pudo encontrar la forma correcta de administrar los archivos de esquemas múltiples para permitir la referencia entre sí.¿Cómo administrar múltiples archivos de esquema JSON?
Supongamos que tengo dos modelos & dos API.
// book
{
"type": "object",
"properties": {
"title": { "type": "string" },
"author": { "type": "string" }
}
}
// author
{
"type": "object",
"properties": {
"first_name": { "type": "string" },
"last_name": { "type": "string" }
}
}
// authors API
{
"type": "array",
"items": { "$ref": "author" }
}
// books API: list of books written by same author
{
"type": "object",
"properties": {
"author": { "$ref": "author" }
"books": { "type": "array", "items": { "$ref": "book" } }
}
}
¿Cada esquema se debe dividir en un archivo separado y estar en línea? ¿O puedo combinar en un solo archivo de esquema como a continuación? Si es posible, ¿cómo puedo hacer referencia al esquema local?
// single schema file {
"book": { ... },
"author": { ... },
"authors": { ... },
"books": { ... } }
¿Hay alguna forma de crear objetos con archivos de esquema separados en node.js? – uzay95
@ uzay95 los esquemas no son clases. Un esquema se usa para definir y validar la estructura de un objeto, una clase define la estructura de un objeto después de su inicialización. Si necesita clases en js, intente buscar en Typescript, AtScript o ES6. O simplemente ponga un método de fábrica de módulo o constructor dentro de un archivo externo que incluirá en node.js. –