RED-5293: Changed output to client to explain which argument is broken

This commit is contained in:
Ali Oezyetimoglu 2022-11-07 16:13:36 +01:00
parent 034fdd0f65
commit 926d324a90

View File

@ -2,6 +2,8 @@ package com.iqser.red.service.peristence.v1.server.controller;
import java.sql.SQLException;
import java.time.OffsetDateTime;
import java.util.List;
import java.util.stream.Collectors;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
@ -99,8 +101,9 @@ public class ControllerAdvice {
@ResponseStatus(value = HttpStatus.BAD_REQUEST)
@ExceptionHandler(value = MethodArgumentNotValidException.class)
public ErrorMessage handleMethodArgumentNotValidException(MethodArgumentNotValidException e) {
return new ErrorMessage(OffsetDateTime.now(), String.format("You have empty/wrong formatted parameters: %s", e.getParameter().getParameterName()));
var errorList = e.getFieldErrors();
String errorListAsString = errorList.stream().map(fieldError -> fieldError.getField() + ": " + fieldError.getDefaultMessage()).collect(Collectors.joining(", "));
return new ErrorMessage(OffsetDateTime.now(), String.format("You have empty/wrong formatted parameters: \n %s", errorListAsString));
}
}