| | |
| | | |
| | | import java.io.IOException; |
| | | |
| | | /** |
| | | * 自定义异常解析 |
| | | */ |
| | | public class UserErrorDecoder implements ErrorDecoder { |
| | | |
| | | private static final int HTTP_STATUS_400 = 400; |
| | | |
| | | private Logger logger = LoggerFactory.getLogger(getClass()); |
| | | |
| | | /** |
| | | * 异常解析 在 SynchronousMethodHandler 类 134 号调用 |
| | | * |
| | | * @param methodKey 方法key |
| | | * @param response 返回对象 |
| | | * @return 返回异常 |
| | | */ |
| | | public Exception decode(String methodKey, Response response) { |
| | | |
| | | Exception exception = null; |
| | |
| | | } catch (IOException ex) { |
| | | logger.error(ex.getMessage(), ex); |
| | | } |
| | | // 这里只封装4开头的请求异常ß |
| | | if (400 <= response.status() && response.status() < 500){ |
| | | exception = new HystrixBadRequestException("request exception wrapper", exception); |
| | | // 这里只封装4开头的请求异常ß && response.status() < 500 |
| | | if (HTTP_STATUS_400 <= response.status()) { |
| | | exception = new HystrixBadRequestException("请求参数错误:", exception); |
| | | }else{ |
| | | logger.error(exception.getMessage(), exception); |
| | | } |