Класс dto входящих данных на сервере:
public class exampleDto {
// валидация поля
private MultipartFile file;
// валидация поля
private List<childDto> childList;
}
метод контроллера:
@PostMapping(path = "/create")
public ResponseDto create(@Validated(OnCreate.class) @ModelAttribute exampleDto dto) throws IOException {
return mapper.toDto(service.create(dto));
}
Чтобы отправить данные с файлом нужно использовать 'Content-Type': 'multipart/form-data' и тогда данные которые были в виде json:
let childList = [
{field1: 'text', field2: 'text'},
{field1: 'text', field2: 'text'},
...
]
преобразуются в такой вид:
childList[0][field1] = 'text',
childList[0][field2] = 'text,
childList[1][field1] = 'text,
childList[1][field2] = 'text
...
и сервер выбрасывает исключение InvalidPropertyException
Какой тип данных нужно указать для поля, которое списком приходит?
Или лучше файл одним запросом отправлять, а остальные данные вторым запросом.