Sto costruendo un'applicazione utilizzando Spring Boot. Questa applicazione è distribuita, il che significa che ho più API che si chiamano a vicenda.Spring Boot come ignorare HttpStatus Exceptions
Uno dei servizi sottostanti interagisce con un database e risponde con i dati richiesti. Se viene effettuata una richiesta di un ID inesistente, ho risposta con un 404 httpStatus
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
(Stessa cosa con 400 errore su alcune operazioni, o 204 per la cancellazione di una voce, ecc).
Il problema è che ho alcune altre applicazioni Spring Boot che chiamano queste API, generano un'eccezione org.springframework.web.client.HttpClientErrorException: 404 Not Found
quando richiedono, in questo esempio, una voce inesistente. Ma il codice di stato 404 è inteso e non dovrebbe restituire questa eccezione (facendo in modo che il mio interruttore di circuito Hystrix chiami la sua funzione di fallback).
Come posso risolvere questo problema?
La chiamata al servizio è implementato come questo nel mio codice: ResponseEntity<Object> data = restTemplate.getForEntity(url, Object.class);
mio RestTemplate è impostato in questo modo:
private RestTemplate restTemplate = new RestTemplate();
Come si imposta il 'RestTemplate'? –
@SotiriosDelimanolis Ho aggiornato la domanda con il modo in cui ho configurato il mio RestTemplate – Kaj