【发布时间】:2017-06-05 16:24:42
【问题描述】:
我们使用 Spring-boot 和 Spring-cloud 和 Spring-cloud-netflix 和 Spring-cloud-feign。
我们正在创建我们的网关应用程序,它在Feign 的帮助下将尝试与我们的authentication 微服务通信,以验证他们的凭据。在这里您可以看到我们的 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 客户端)。那么,我们如何管理其他异常呢?
最好的,
【问题讨论】:
标签: spring-boot spring-cloud spring-cloud-netflix spring-cloud-feign