Не срабатывает 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 в каждом методе работает норм. Всем спасибо за участие