Skip to content
Snippets Groups Projects
Commit 156bb968 authored by OZGCloud's avatar OZGCloud
Browse files

OZG-4949 Handle null ConstraintViolation

parent c6353b22
No related branches found
No related tags found
No related merge requests found
......@@ -25,6 +25,7 @@ import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import jakarta.validation.ConstraintViolation;
......@@ -69,18 +70,20 @@ public class ExceptionController extends ResponseEntityExceptionHandler {
public ErrorResponse handleConstraintViolationException(ConstraintViolationException ex) {
var problemDetail = ProblemDetail.forStatusAndDetail(HttpStatus.UNPROCESSABLE_ENTITY, ex.getLocalizedMessage());
problemDetail.setProperty("invalid-params", getDetailedviolationList(ex.getConstraintViolations()));
problemDetail.setProperty("invalid-params", getDetailedviolationList(Optional.ofNullable(ex.getConstraintViolations())));
return ErrorResponse.builder(ex, problemDetail).build();
}
private List<Map<String, String>> getDetailedviolationList(Set<ConstraintViolation<?>> violations) {
private List<Map<String, String>> getDetailedviolationList(Optional<Set<ConstraintViolation<?>>> violations) {
List<Map<String, String>> detailedViolations = new ArrayList<>();
for (var violation : violations) {
if (violations.isPresent()) {
for (var violation : violations.get()) {
var detailedViolation = new LinkedHashMap<String, String>();
detailedViolation.put("name", violation.getPropertyPath().toString());
detailedViolation.put("reason", violation.getMessage());
detailedViolations.add(detailedViolation);
}
}
return detailedViolations;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment