Как загрузить изображение из клиента Swagger DART (Android) на сервер колбы Swagger? - PullRequest
0 голосов
/ 31 января 2019

Я пытаюсь загрузить изображение из приложения android на сервер (работает на flask-python).Я использовал Swagger 2.0 для генерации API-кода колбы и сервера dart.Я получаю сообщение об ошибке «Ошибка ключа: файл» на стороне сервера всякий раз, когда я пытаюсь вызвать API загрузки изображения.

Настройка:
Клиент: клиент флаттера на Android
Сервер: Flask Python
Оба настроены с использованием Swagger 2.0

Я попытался вызвать API из SOAP UI, и он работает отлично, и мое изображение загружается на сервер.Однако, когда я пытаюсь вызвать тот же API загрузки изображений из приложения Android через API Flutter, это выдает ошибку на моем сервере.

Параметры вызова SOAP UI:
Метод: POST
Конечная точка: http://localhost:5000
Ресурс: / images
Post QueryString = true

Параметры:
Файл inFile: [имя файла, которое я загрузил в разделе вложений]

Swagger configuration:
post:
  description: Creates a new Image
  operationId: createNewImage
  consumes:
    - multipart/form-data
  parameters:
    - in: formData
      name: inFile
      type: file
      required: true
      description: Image file to upload.
    - in: formData
      name: imageDescription
      type: string
      required: false
      description: Description of image file
  responses:
    '200':
      description: 200 response
      schema:
        $ref: '#/definitions/ImageRespModel'

Flutter Api calling code (Not working):

var api = new ServerApi.ImagesApi();
File _image = <image object clicked from camera>
String _filename = path.basename(_image.path);
MultipartFile _imageFile = MultipartFile.fromBytes(
                    'inFile', _image.readAsBytesSync(),
                    filename: _filename);
api.createNewImage(_imageFile);

Ожидаемые результаты: вызов API Android должен быть в состоянии загрузить код таким же образомкак я могу сделать это из SOAP UI.Я думаю, что что-то не хватает в настройке вызова Android API.

Ошибка на сервере Python:
type_func = TYPE_MAP [_type] # преобразовать значение в правильный тип
KeyError: 'file'

...