Buduję aplikację przy użyciu Spring Boot. Ta aplikacja jest rozpowszechniana, co oznacza, że mam wiele interfejsów API, które wywołują się nawzajem.Spring Boot, jak ignorować wyjątki HttpStatus
Jedna z moich podstawowych usług współdziała z bazą danych i odpowiada żądanymi danymi. Jeżeli wniosek do ID nieistniejącego składa, że odpowiedź z 404 httpStatus:
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
(To samo z 400 błędu niektórych operacji, lub 204 do usuwania wpisu, etc).
Problem polega na tym, że mam inne aplikacje Spring Boot, które wywołują te interfejsy API, wyrzucają wyjątek org.springframework.web.client.HttpClientErrorException: 404 Not Found
, gdy żądają w tym przykładzie nieistniejącego wpisu. Ale kod statusu 404 jest przeznaczony i nie powinien zwracać tego wyjątku (powodując, że mój wyłącznik Hystrix wywoła funkcję zastępczą).
Jak mogę rozwiązać ten problem?
Powołanie do służby jest realizowany w ten sposób w moim kodu: ResponseEntity<Object> data = restTemplate.getForEntity(url, Object.class);
Moja RestTemplate jest skonfigurowany tak:
private RestTemplate restTemplate = new RestTemplate();
Jak skonfigurować "RestTemplate"? –
@SotiriosDelimanolis Zaktualizowałem pytanie w sposób, w jaki konfiguruję mój RestTemplate – Kaj