Запрос PUT с массивом json Body и несколькими файлами - PullRequest
1 голос
/ 20 сентября 2019

У меня есть java webservice, использующий метод PUT для обновления сотрудника.

Веб-служба должна получить список файлов и json-файл, содержащий информацию для обновления.

Метод имеет следующую подпись

@RequestMapping(value = "/employees/{employeeId}", method = RequestMethod.PUT, consumes = 
 MediaType.MULTIPART_FORM_DATA_VALUE)
public ResponseEntity<?> updateEmployee(
         @RequestPart EmployeeUserUpdateDto employeeDto,
         @PathVariable("employeeId") int employeeId,
         @RequestPart MultipartFile[] uploadedFiles, BindingResult bindingResult)

Когда я проверяю этоЗапрос с почтальоном, как следует, говорит, что мой JSON отсутствует:

enter image description here

PS: У меня есть аналогичный запрос на добавление сотрудника, работает простонормально с той же конфигурацией, единственное различие между двумя запросами - переменная пути, а PUT не POST

Ответы [ 2 ]

0 голосов
/ 20 сентября 2019

Вы можете получить многокомпонентный запрос в оболочке dto следующим образом:

@PutMapping("/upload-poc")
  ResponseEntity<?> uploadFileWithData(@ModelAttribute TestModel model){
    log.info("File Exist: {}",model.getImage().get(0).getOriginalFilename());
    log.info("Data: {}", model);
    return new ResponseEntity<>(HttpStatus.OK);
  }


@Getter
@Setter
@ToString
class TestModel{
  private List<MultipartFile> images;

  //@NotNull(message = "Name must be provided")
  @Size(min = 2, max = 6)
  private String name;

  private Long id;
}

Я загружаю 3 файла в одном запросе.

Вот пример запроса post man:

enter image description here

0 голосов
/ 20 сентября 2019

метод сложения: @ ResponseBody

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...