提供Hystrix回退bean
开发人员可能需要为Zuul配置中定义的每个路由提供在电路断开情形下的回退响应。要完成此任务,应该创建一个ZulFallbackProvider (目前已弃用)类型的bean或FallbackProvider.在该实现中,必须指定路由ID模式以匹配应该由回退bean处理的所有路由。第二步则是返回ClientHtpResponse 接口的实现作为fllbackResponse 方法中的响应。
以下就是一个简单的回退bean示例,它将每个异常映射到HTTP状态200OK,并在JSON响应中设置errorCode和errorMessage.该回退将仅对account-service 服务的路由执行。
public class AccountFallbackProvider implements FallbackProvider {
@Override
public String getRoute() 4
return "account-service";
@Override
public ClientHttpResponse fallbackResponse (Throwable cause)(
return new ClientHttpResponse() (
@override
public HttpHeaders getHeaders(){
HttpHeaders headers - new HttpHeaders();
headers . setContentType (MediaType . APPLICATION JSON);
return headers;
@Override
public InputStream getBody() throws IOException {
AccountFallbackResponse response !