Не срабатывает required = false?

Есть запрос PostNewProfile:

@PostMapping(path = "/profile/my", consumes = {"multipart/form-data"})
 public ResponseEntity<?> postNewProfile(
   @RequestParam(value = "photo", required = false) MultipartFile photo,
   @RequestParam(value = "email", required = false) String email,
   @RequestParam(value = "password", required = false) String password,
   @RequestParam(value = "removePhoto", required = false) Integer removePhoto,
   @RequestParam(value = "name", required = false) String name
  ) {
try {
   ResultResponseWithErrors response = userService.postNewProfile(photo, name,
       email, password, removePhoto);
   return ResponseEntity.ok(response);
  } catch (Exception e) {
   return new ResponseEntity<>(e.getMessage(), HttpStatus.BAD_REQUEST);
 }

}

Так вот, если параметр photo не задан, то запрос не срабатывает, хотя required = false проставлен, т. е. этот параметр не должен быть обязательным, подскажите пожалуйста, что не так в коде. Когда же photo передается - запрос срабатывает нормально


Ответы (1 шт):

Автор решения: meshkovo1977

Решил проблему просто - декомпозиция, сделал два метода для запроса - один с multipartfile photo, а другой для json, в consumes четко прописал какой content-type в каждом методе работает норм. Всем спасибо за участие

→ Ссылка