Spring中RestOperations的错误处理

25 8月

Spring提供了RestOperations来方便支持rest api的使用。不仅对于常用的方法语义有支持,对于常用的错误处理也有考虑,简单来说,用起来方便顺手,如果是返回json等常见格式,也能自动转为Java对象。

RestOperations的默认错误处理由DefaultResponseErrorHandler负责,其中的方法hasError的返回值决定了是否将当前返回作为错误来对待。默认的实现是

也就是说4和5开头的状态码看作错误。然后在直接将返回内容封装一下抛出

但是有时候会遇到一些特别的需求,比如409状态码不看做错误,或者不单单使用状态码作为错误的标示。

那么这种情况只有复写hasError,然后通过setErrorHandler来让自定义的错误处理器生效。

发表评论

电子邮件地址不会被公开。