cot_shaurma
@cot_shaurma
Java и всего понемногу

Как в rest-контроллере принимать данные формы, у которой может меняться количество полей?

Есть форма, количество полей в которых не фиксированное, а может меняться. Причём среди полей есть не только строковые, но и для загрузки файлов.

Не понимаю, как мне принимать эту кучу в rest-контроллере:
@PostMapping("/test-type-questions")
public ResponseEntity<String> createTestTypeQuestion(@RequestParam Map<String, String> data)

если сделать вот так, то я потеряю возможность читать файлы.

Я использую Spring Boot. Что мне указать в параметрах запроса, чтобы потом извлечь все данные формы?
  • Вопрос задан
  • 195 просмотров
Пригласить эксперта
Ответы на вопрос 1
azerphoenix
@azerphoenix Куратор тега Java
Java Software Engineer
Добрый день.
Обычно, есть отдельный контроллер ответственный за загрузку файлов. Можно создать некий RestController, на который аяксом отправляются загружаемые файлы, а в ответе возвращать id файла хранимого в БД после загрузки.

Если вы решили реализовать тем способом, которым вы сейчас это делаете, то почему бы вам не попробовать использовать модель (DTO). Создайте pojo нужной структуры, если есть обязательные поля, которые должны присутствовать, то используйте либу spring validation.

При необходимости, используйте ModelMapper или Struts или класс Converter<S, T> для конвертации dto в entity
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы