akademia-envelo-3 / MELO-back

2 stars 0 forks source link

EVE-32 Przekazywanie błędów z adnotacji "message" w ApplicationExceptionHandler nad polami w dto i encjach #188

Closed MarekGFx closed 1 year ago

MarekGFx commented 1 year ago

Należy zdefiniować :

  1. odpowiednie przyjazne wiadomości w adnotacjach nad polami we wsztstykich DTO i ENTITY klasy np:
    @NotNull(message = "row cant be null")
    @Min(value = 1,message = "row number cant be less than 1")
    @Max(value = 20, message = "row number cant be greater than 20")
    private int rowNumber;
    @NotNull(message = "seat number  cant be null")
    @Min(value = 1,message = "seat number cant be less than 1")
    @Max(value = 20, message = "seat number cant be greater than 20")
    private int seatNumber;
  2. w Klasie ApplicationExceptionHandler mależy dodać metodę (Masz już zrobioną hamie):
    @ResponseStatus(HttpStatus.BAD_REQUEST)
    @ExceptionHandler(MethodArgumentNotValidException.class)
    public Map<String, String> handleInvalidArgument(MethodArgumentNotValidException ex){
        Map<String, String> errorMap = new HashMap<>();
        ex.getBindingResult().getFieldErrors().forEach(error ->{
            errorMap.put(error.getField(),error.getDefaultMessage());
        });
        return errorMap;
    }

Po wykonaniu taska https://github.com/akademia-envelo-3/MELO-back/issues/180 błędy powinny być zwracane ze ślicznym message typu: rowNumber : "row number cant be less than 1", seatNumber : "seat number cant be greater than 20"