我正在使用SpringMVC,我正在尝试使用Facebook API进行实验,只是为了好玩。我目前遇到的问题是,当Facebook的GRAPH Api遇到OAuthException
时,它会返回200以外的其他状态代码。然而,响应的主体仍然是一个有效的json对象,我想将其解析为我的对象。
这样,当状态代码不是HTTP.2xx时,我的restTemplate
将调用错误处理程序,而不解析对我的对象的响应。
有没有任何方法可以配置RestTemplate,使其无论http状态如何都应该解析响应体?
谢谢!
您可以设置客户ResponseErrorHandler
restTemplate.setErrorHandler(customerErrorHandler)
您只需要实现以下两种方法
boolean hasError(ClientHttpResponse response) throws IOException;
void handleError(ClientHttpResponse response) throws IOException;
在您的情况下,hasError
总是可以返回false