MultipartFile + Dto: как принять в одном запросе?

157
22 февраля 2018, 14:20

Всем привет. Мне необходимо принять в одном запросе 2 файла - MultipartFile и информацию о нём в DTO (JSON).

После гугления сделал так:

@PostMapping(produces = MediaType.APPLICATION_JSON_VALUE)
    public ResponseEntity<ImageTableDto> save(@RequestPart("data") ImageTableDto dto,
                                              @RequestPart("image")MultipartFile file) {
        return service.save(dto, file).map(d -> new ResponseEntity<>(d, HttpStatus.OK))
                .orElseGet(() -> new ResponseEntity<>(ResponseEntityUtils.createHeaders(), HttpStatus.OK));
    }

В постмане отправляю следующим образом:

Если я отправлю один MultipartFile и буду принимать только его, то запрос гарантированно пройдёт. С добавлением текстового поля в виде JSON плюёт 400 Bad Request. Подскажите, как решить эту задачу?

Answer 1

Задача решилась самым неожиданным образом.

Для того, чтобы отправить JSON в формате multipart/mixed (так называется способ отправки файл + JSON), необходимо положить JSON в файл и отправить вторым файлом в формате data.json

READ ALSO
Получить индекс из выпадающего списка select

Получить индекс из выпадающего списка select

ЗдравствуйтеКак получить индекс из выпадающего списка select html в сервлете на java?

163
Геометрия в програмировании [требует правки]

Геометрия в програмировании [требует правки]

Добрый день всем программистам! Я начинающий программист java (самоучка) читаю книги и смотрю видео урокиВ программировании столкнулся для...

152
Вывод случайного числа в диапазоне

Вывод случайного числа в диапазоне

Подскажите пожалуйста, я хоть в правильно направлении ? Задание, даны размеры (рост) (Маленькие - (60-100), (Средние - (101-140 см), (Большие - (141-200))

160
Загрузка Ajax элементов в Selenium (Java)

Загрузка Ajax элементов в Selenium (Java)

Здравсвуйте, использую Selenium (Java)Проект активно использует Ajax

147