Saltar al contenido

¿Cómo publicar archivos en Swagger (OpenAPI)?

Solución:

Especificación OpenAPI 2.0

En Swagger 2.0 (OpenAPI Specification 2.0), use un parámetro de formulario (in: formData) con el type ajustado a expediente. Además, la operación consumes debe ser multipart/form-data.

  consumes:
    - multipart/form-data
  parameters:
    - name: file
      in: formData   # <-----
      description: The uploaded file data
      required: true
      type: file     # <-----

Especificación OpenAPI 3.0

En OpenAPI Specification 3.0, los archivos se definen como cadenas binarias, es decir, type: string + format: binary (o format: byte, dependiendo del caso de uso). El contenido de entrada / salida del archivo se describe con la misma semántica que cualquier otro tipo de esquema (a diferencia de OpenAPI 2.0):

Solicitud de varias partes, archivo único:

requestBody:
  content:
    multipart/form-data:
      schema:
        type: object
        properties:
          # 'file' will be the field name in this multipart request
          file:
            type: string
            format: binary

Solicitud de varias partes, matriz de archivos (compatible con Swagger UI 3.26.0+ y Swagger Editor 3.10.0+):

requestBody:
  content:
    multipart/form-data:
      schema:
        type: object
        properties:
          # The property name 'file' will be used for all files.
          file:
            type: array
            items:
              type: string
              format: binary

POST / PUT directamente (el cuerpo de la solicitud es el contenido del archivo):

requestBody:
  content:
    application/octet-stream:
      # any media type is accepted, functionally equivalent to `*/*`
      schema:
        # a binary file of any type
        type: string
        format: binary

Nota: la semántica es la misma que la de otros tipos de esquema de OpenAPI 3.0:

# content transferred in binary (octet-stream):
schema:
  type: string
  format: binary

Más información:

  • Consideraciones para la carga de archivos
  • Consideraciones especiales para el contenido de varias partes
  • Carga de archivos y solicitudes de varias partes

finalmente encontré la respuesta para esto, en realidad anteriormente no hay soporte para Subir archivo, ahora actualizaron swagger-ui.js expediente. Debe reemplazar el anterior por uno nuevo y también debe definir estas propiedades en Parámetros para un parámetro en particular:

 "paramType": "body",
 "dataType": "file",

El mío parece funcionar con

 "paramType": "formData",
 "dataType": "file",
¡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 *