Początkuję z REST'ami i mam takie zagadnienie.
Zrobiłem serwis który dokonuje wielu walidacji danych. W przypadku jeśli dane są niewłaście chcę zwrócić odpowiedni status HTTP + w response Header odpowiednie parę klucz, wartość.
Jednocześnie w przypadku negatywnej walidacji chce wyrzucić runTimException w aplikacji.
Zrobiłem coś takiego
@ResponseStatus(HttpStatus.UNPROCESSABLE_ENTITY)
public class MissingDataException extends RuntimeException {
public MissingDataException(String message) {
super(message);
}
}
i użycie
if (tariffPeriodConsumptionDTO.getPeriodStart() == null) {
String message = "Value for attribute: periodStart from Object: TariffPeriodConsumptionDTO at "
+ receiverPointDescription + ", is required";
responseHeaders.set(DomainConstans.HTTP_HEADERS_EXCEPTION_CODE.MISSING_DATA_EXCEPTION, message);
throw new MissingDataException(message);
}
W przypadku kiedy zachochodzi negatywna walidacja status Http jest zwracany poprawnie ale Response Header nie ma już mojej wiadomości.
Jak połączyć runTimeException z responsem ?
Nie chcę tego wyrzucac przez ResponseEntity