Как получить все записи данных формы из запроса в контроллере spring

#spring-boot #request

#spring-boot #запрос

Вопрос:

Есть ли какой-либо способ получить все записи данных формы, описанные ниже в spring controller ? Я пробовал несколько способов, таких как Multipartfile[] , HttpServletRequest в качестве параметров контроллера

 public ResponseEntity<String> endpoint1(HttpServletRequest request) 
  

но кажется, что spring каким-то образом проверяет данные формы и отклоняет все записи данных формы, которые имеют file или files в качестве значения, а их ключ отличается от «file» или «files», поэтому «file1» и «file2» не представлены ни в одном поле HttpServletRequest request

другие записи данных формы data data2 data3 представлены в

 HttpServletRequest request getParameterMap
  

Postman запрашивает данные формы

Ответ №1:

 @PutMapping(value="/api/event/videos/update/{id}")
public ResponseEntity<String> uploadFile(@PathVariable(value = "id") Long id, 
    @RequestParam("file1") MultipartFile file1, @RequestParam("file2") MultipartFile file2, 
    @RequestParam("data") Object data, @RequestParam("data1") Object data1, 
    @RequestParam("data2") Object data2) {
       ObjectMapper mapper = new ObjectMapper();
       DataResource dataResource = mapper.readValue(object.toString(), DataResource.class);
       Data1Resource data1Resource = mapper.readValue(object.toString(), Data1Resource.class);
       Data2Resource data2Resource = mapper.readValue(object.toString(), Data2Resource.class);
       return ......
}
  

Комментарии:

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

2. Доступны некоторые другие варианты @RequestParam Map<String, Data> parameters или @RequestParam(value = "Datas") Set<Data> test или @MatrixVariable