in src/main/java/com/epam/digital/data/platform/bphistory/service/api/exception/ApplicationExceptionHandler.java [72:87]
protected ResponseEntity<Object> handleMethodArgumentNotValid(
MethodArgumentNotValidException exception, HttpHeaders headers, HttpStatus status,
WebRequest request) {
log.error("One or more input arguments are not valid", exception);
DetailedErrorResponse<FieldsValidationErrorDetails> invalidFieldsResponse
= newDetailedResponse(ResponseCode.VALIDATION_ERROR);
var generalErrorList = exception.getBindingResult().getFieldErrors();
var customErrorsDetails = generalErrorList.stream()
.map(error -> new FieldsValidationErrorDetails.FieldError(error.getRejectedValue(),
error.getField(), error.getDefaultMessage()))
.collect(toList());
invalidFieldsResponse.setDetails(new FieldsValidationErrorDetails(customErrorsDetails));
return ResponseEntity.status(HttpStatus.UNPROCESSABLE_ENTITY).body(invalidFieldsResponse);
}