Всем привет. Мне необходимо принять в одном запросе 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. Подскажите, как решить эту задачу?
Задача решилась самым неожиданным образом.
Для того, чтобы отправить JSON в формате multipart/mixed (так называется способ отправки файл + JSON), необходимо положить JSON в файл и отправить вторым файлом в формате data.json
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники