如果请求未通过验证,我的API服务器将返回HTTP 400响应代码,并提供详细消息,应将其解析为响应。
例如:
public class RegistrationResponse {
private String emailError; // Detailed message. Null if no error occured
}
但Robospice(Retrofit + OkHttp)使用消息" retrofit.RetrofitError:400 BAD REQUEST"触发onRequestFailure()。在这种情况下,当然,不解析任何东西。
如果响应代码不是2XX,我应如何解析响应?
答案 0 :(得分:1)
您应该声明返回HTTP Response
对象的Retrofit方法,并检查loadDataFromNetwork()
中的原始对象以获取所需的状态。但是,这样,您将跳过解析响应的开箱即用功能,并且必须手动执行此操作。
因此,您还应该找到一种方法来重用Converter
中传递给RestAdapter
的{{1}}。覆盖RetrofitSpiceService#createConverter()
方法可能是实现此目的的最简单方法。