Получение списка объектов с файлами на Spring BootJAVA

Программисты JAVA общаются здесь
Anonymous
Получение списка объектов с файлами на Spring Boot

Сообщение Anonymous »

Я задал вопрос, чтобы получить список пользовательских объектов при Spring Boot на Multipart/Form-Data. Теперь мне нужно внести некоторые настройки для отправки файлов, а также < /p>
раньше я отправлял поле списка в качестве JSON, поэтому пользовательского преобразователя было достаточно, чтобы выполнить задачу. Но это не будет работать для файлов. Поэтому я нашел этот ответ о том, как справиться с постом массивов/списков объектов (они использовали NextJS в качестве бэкэнда), и я хотел бы сделать что -то подобное для весны, а также не могу найти никаких ответов. Вот что -то, как должен выглядеть запрос:
< /p>
или, если вам нужен пример JS: < /p>

Код: Выделить всё

function createFormData() {
const formDate = new FormData()

formDate.append('name', 'test')
formDate.append('logo', new File([''], 'test.png'))
formDate.append('link', 'test')

formDate.append('contacts[0][name]', 'test')
formDate.append('contacts[0][email]', 'test')
formDate.append('contacts[0][icon]', new File([''], 'test.png'))

formDate.append('contacts[1][name]', 'test')
formDate.append('contacts[1][email]', 'test')
formDate.append('contacts[1][icon]', new File([''], 'test.png'))

return formDate
}
< /code>
При получении такого запроса, пружина возвращает:
Invalid property 'contacts[0][email]' of bean class [com.example.trilha.dto.PartnerRequest]: Illegal attempt to get property 'contacts' threw exception

Как это реализовать?

Код: Выделить всё

@PostMapping(value = "createPartner", consumes = "multipart/form-data")
public ResponseEntity createPartner(
@ModelAttribute PartnerRequest partnerRequest
)
< /code>
DTOS для запроса следующим: < /p>
record Contacts(
String name,
String email,
MultipartFile icon
) {}

public record PartnerRequest(
String name,
MultipartFile logo,
String link,
List contacts
){}
< /code>
Редактировать:
У меня сейчас нет фронтальной p> Изменение моделиаттрибу 
на запрос paraM не решает проблему, потому что Spring попытается читать как JSON (таким образом, не обрабатывает загрузку файла)


Подробнее здесь: https://stackoverflow.com/questions/791 ... pring-boot

Вернуться в «JAVA»