Sube un archivo en Swagger y recibe en el backend de Flask

Estoy tratando de subir un archivo usando Swagger y Flask. Tengo la siguiente configuración para swagger.

"/user/register/": { "post": { "tags": ["user"], "summary": "Register a new user", "description": "", "operationId": "registerUser", "consumes": ["application/json"], "produces": ["application/json"], "parameters": [{ "in": "body", "name": "body", "description": "User object that needs to be added.", "required": true, "schema": { "$ref": "#/definitions/User" } }, { "name": "file", "in": "path", "description": "file to upload", "required": true, "type": "file" }] } }, 

Tengo la opción de cargar un archivo, pero cuando trato de recibirlo en el backend, (usando print request.files ) no me devuelve nada.

¿Cómo puedo recibir el archivo (seleccionado a nivel swagger) en el backend?

Para el file , el tipo debe ser formData lugar de path . Vea a continuación un ejemplo

  { "name": "file", "in": "formData", "description": "file to upload", "required": false, "type": "file" } 

ref: https://github.com/swagger-api/swagger-codegen/blob/master/modules/swagger-codegen/src/test/resources/2_0/petstore.json#L384

Para consumes , debe ser multipart/form-data

iFile = request.files.getlist('file')[0] : este comando lee el archivo cargado a través de la interfaz de usuario Swagger.