From 926d324a9072872b4719c855897a64f44b9aacc5 Mon Sep 17 00:00:00 2001 From: Ali Oezyetimoglu Date: Mon, 7 Nov 2022 16:13:36 +0100 Subject: [PATCH] RED-5293: Changed output to client to explain which argument is broken --- .../peristence/v1/server/controller/ControllerAdvice.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/ControllerAdvice.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/ControllerAdvice.java index c9602b0ef..6ec665fe7 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/ControllerAdvice.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/ControllerAdvice.java @@ -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)); } }