Cześć, stworzyłem sobie rest api które np przyjmuje prosty formularz dodawania do bazy danych.
Następnie stworzyłem drugą spring apkę z thymleafem która ma front end i wysyła wypełniony formularz do rest api. Jeśli wszystko jest poprawne, przejdzie walidację to zwraca mi DTO i w następnym widoku wyświetlam otrzymane DTO jako potwierdzenie nowego obiektu.
W rest api mam global handlera który łapie różne wyjątki i błędy walidacji. Jeśli np napotka w formularzu błąd to rest api zwraca wtedy custom exception model jak np:
{
"timestamp": "2022-08-03T13:18:05.3352166",
"status": 400,
"errorName": "MethodArgumentNotValidException",
"message": "[Email already exists]"
}
I to również działa. Problem jaki napotkałem pojawił się z przetworzeniem tego błędu. Co zrobić w sytuacji gdy zostanie wysłany nieprawidłowy formularz? Np pole z adresem mailowym nie przejdzie walidacji i zostanie zwrócony obiekt jak wyżej. Jak mogę to obsłużyć, gdy postForEntity nie zwróci DTO, a właśnie błąd?
Chciałbym użyć wiadomości z tego błędu i wrzucić to do binding result. Czy może zrobić coś takiego?