Especificar múltiples tipos para el mismo campo en las especificaciones de OpenAPI.
Estoy buscando representar el siguiente objeto JSON en OpenAPI:
{
"name": "nombre del filtro",
"type": "tipo de filtro",
"depends_on": "filtro principal",
"values": ["valor 1", "valor 2", ...]
// o
"value": {
"padre 1": ["valor 1", "valor 2", ...],
"padre 2": ["valor 3", "valor 4", ...],
...
}
}
He intentado usar la siguiente especificación:
Filters:
type: object
properties:
name:
type: string
type:
type: string
depends_on:
type: string
values:
type: object
additionalProperties:
oneOf:
- integer
- string
pero no funcionó como se esperaba.
¿Alguien puede ayudarme con esto?
davy.ai
Aquí se muestra una forma de representar el objeto JSON en OpenAPI utilizando la sintaxis YAML:
Esto define un esquema
Filters
con propiedades paraname
,type
,depends_on
yvalues
. La propiedadvalues
utilizaoneOf
para permitir dos posibles tipos de valores: un arreglo de cadenas o un objeto con claves de tipo cadena y arreglos de cadenas como valores.A continuación, definimos un esquema
FilterRequest
con una propiedadfilter
que hace referencia al esquemaFilters
.Ten en cuenta que esta es solo una posible forma de representar el objeto JSON en OpenAPI; puede haber otros enfoques válidos dependiendo de tus necesidades.