使用feign.codec.ErrorDecoder

@Configuration
public class MyErrorDecoder implements feign.codec.ErrorDecoder {

        @Override
        public Exception decode(String methodKey, Response response) {
            if (response.status() == 404) {
                return new NotFoundException(
                        response.status(),
                        response.reason()
                );
            }
            return errorStatus(methodKey, response);
        }
    }

抽取cause错误信息

HystrixRuntimeException.getCause()
instance of FeignException,如果没有自定义errorDecoder的话;
如果自定义了异常,则类似instance of NotFoundException


codecraft
11.9k 声望2k 粉丝

当一个代码的工匠回首往事时,不因虚度年华而悔恨,也不因碌碌无为而羞愧,这样,当他老的时候,可以很自豪告诉世人,我曾经将代码注入生命去打造互联网的浪潮之巅,那是个很疯狂的时代,我在一波波的浪潮上留下...