解决com.netflix.hystrix.exception.

2019-11-27  本文已影响0人  沁园Yann

问题原因:没有指定容错处理类,导致请求失败时没有相应。
在 @FergnClient 注解中添加 “fallback = ***.class”,就可以解决问题了。

@FeignClient(name = "github-client",
        configuration = GitHubExampleConfig.class,
        fallback = GitHubClient.DefaultFallback.class)
public interface GitHubClient {
    @RequestMapping(value = "/search/repositories", method = RequestMethod.GET)
    String searchRepo(@RequestParam("q") String queryStr);

容错处理类,当调用失败时,简单返回空字符串。需要使用@Component注解,保证fallback类被Spring容器扫描到

    @Component
    public class DefaultFallback implements GitHubClient {
        @Override
        public String searchRepo(@RequestParam("q") String queryStr) {
            return "";
        }
    }
}

GitHubExampleConfig内容如下:

@Configuration
public class GitHubExampleConfig {
    @Bean
    Logger.Level feignLoggerLevel() {
        return Logger.Level.FULL;
    }
}

@FeignClient标签的常用属性如下:

上一篇 下一篇

猜你喜欢

热点阅读