Мы используем Spring-загрузки с весной-облаком и весной-облаком-Netflix с весной-облака симулировать.Как управлять ошибками Fign?
Мы создаем наше приложение Gateway, которое с помощью Feign
попытается связаться с нашим микросервисом , чтобы подтвердить их учетные данные. Здесь вы можете увидеть пример нашего Притвориться authentication
клиента:
@FeignClient(value="auth", configuration = AuthClientConfiguration.class)
public interface AuthClient {
@RequestMapping(method = RequestMethod.GET, value = "/tokens", consumes = MediaType.APPLICATION_JSON_VALUE)
Single<Session> getSession(@RequestHeader("Authorization") String token);
}
Вопрос в том, как мы можем иметь дело со всеми исключениями, которые могут быть подняты клиентом? Я имею в виду, как мы можем, например, поймать, что был выброшен NetworkException
или TimeoutException
? Мы определили наш собственный ErrorDecoder
, но, похоже, этот «вид слушателя» работает только тогда, когда запрос прибыл и ответ был возвращен (в нашем случае от клиента authentication
). Итак, как мы можем справиться с этими другими исключениями?
Лучший,
Нет ли более конкретного исключения для улова? – francescou
Спасибо @spencergibb. Это сработало, дело в том, что для повторного использования этого кода мы должны его включать. Мы только что создали новый класс, который действует как декоратор, а затем он управляет всеми «общими» исключениями, такими как «Тайм-ауты» и т. Д. –