Я пытаюсь загрузить файл из SwaggerUI и получить его на сервере Flask request.files пусто. Меня не волнует исходное имя файла.
Моя конфигурация Swagger:
parameters:
- name: file
in: formdata
required: false
type: file
responses:
'200':
description: Firmware updated
content:
application/json:
schema:
$ref: '#/definitions/UpdateResponse'
requestBody:
content:
multipart/form-data:
schema:
type: string
format: binary
description: log binary file
Мой файл app.py выглядит так:
app.add_url_rule(
'/updates/update/',
view_func=Update.as_view('updates_update'),
methods=['POST']
)
if __name__ == "__main__":
app.run(debug=True, host='0.0.0.0', port=5000
А реализация метода POST заключается в следующем:
class Update(MethodView):
def post(self):
"""
resets software and defaults
---
tags:
- system
summary: resets software and defaults
operationId: updateupdate
description: resets defaults
parameters:
- name: file
in: formdata
required: false
type: file
responses:
'200':
description: Firmware updated
content:
application/json:
schema:
$ref: '#/definitions/UpdateResponse'
requestBody:
content:
multipart/form-data:
schema:
type: string
format: binary
description: log binary file
'400':
description: 'update system not found'
"""
data = {
"id" : 0,
"status" : "refused",
"reason" : "battery_low"
}
print('Update Items')
print('request.method', request.method)
print('request.args', request.args)
print('request.form', request.form)
print('request.files', request.files)
Все отпечатки возвращают пустые списки.
==> Есть идеи, что происходит?