Spring - загрузка файла не работает в swagger - PullRequest
1 голос
/ 31 марта 2020

Я пытаюсь загрузить файл из моего весеннего загрузочного приложения в Amazon s3.

Когда я загружаю файл с помощью POSTMAN, файлы успешно загружаются на s3. Тем не менее, когда я пытаюсь загрузить файл из swagger, он отвечает с кодом состояния 200, но не загружает файл, и в моем приложении весенней загрузки он выдает исключение нулевого указателя.

Это проблема CORS (я пробовал даже включать CORS в весеннем загрузочном конфиге)? Или я делаю что-то не так, например, нужно добавить конфигурацию к моему чванству или что-то еще?

Вот код контроллера -

@PostMapping(value = "/uploadFile" )
public JSONObject uploadFile(MultipartFile[] file) {
    return this.amazonClient.uploadFile(file);
}

Вот запрос POSTMAN, который работает нормально -

enter image description here

Вот запрос чванства, который не работает -

enter image description here

РЕДАКТИРОВАТЬ :

После внесения изменений в метод Controller следующим образом:

@RequestMapping(value = "/uploadFile",method = RequestMethod.POST, consumes = { "multipart/form-data" })
//@PostMapping(value = "/uploadFile" ) // consumes = MediaType.MULTIPART_FORM_DATA_VALUE
public JSONObject uploadFile(@RequestPart("file") MultipartFile[] file) {
    return this.amazonClient.uploadFile(file);
}

Сейчас я получаю следующий запрос скручивания на Swagger:

curl -X POST "http://localhost:8080/storage/uploadFile" -H "accept: */*" -H "Content-Type: multipart/form-data" -F "file={}"

Вы можете ясно видеть, что параметр file становится пустым. Есть мысли?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...