Saltar al contenido

OpenAPI: qué esquema aceptar cualquier valor JSON (complejo)

Después de de esta larga selección de datos solucionamos este conflicto que tienen algunos de nuestros lectores. Te brindamos la respuesta y nuestro deseo es serte de mucha ayuda.

Solución:

Un esquema de tipo arbitrario se puede definir usando un esquema vacío :

# swagger: '2.0'
definitions:
  AnyValue: 

# openapi: 3.0.0
components:
  schemas:
    AnyValue: 

o si quieres un description:

# swagger: '2.0'
definitions:
  AnyValue:
    description: 'Can be anything: string, number, array, object, etc. (except `null`)'

# openapi: 3.0.0
components:
  schemas:
    AnyValue:
      description: 'Can be anything: string, number, array, object, etc., including `null`'

sin un definido type, un esquema permite cualquier valor. Tenga en cuenta que la especificación OpenAPI 2.0 no admite null valores, pero algunas herramientas pueden admitir valores nulos de todos modos.

En OpenAPI 3.0, type-menos esquemas permitidos null valores a menos que los nulos estén explícitamente prohibidos por otras restricciones (como un enum).

Consulte estas preguntas y respuestas para obtener más detalles sobre cómo type-menos esquemas de trabajo.

Así es como Swagger Editor 2.0 maneja un parámetro de cuerpo con el AnyValue esquema:

SwaggerEditor: prueba de una solicitud PUT con un cuerpo de tipo arbitrario

Sin embargo, no sé cómo manejan esto los generadores de código.

Aquí tienes las comentarios y puntuaciones

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *