retrofit请求返回的数据总是走onFailure方法原因之一
2017-09-14 09:22
1046 查看
产生的场景:使用retrofit+okhttp进行网络请求时,当返回的数据的errorcode == 0的时候,能够正常进入onResponse方法,当返回的数据的errorcode != 0的时候,进入的是onFailure方法,造成无法获取错误提示信息(这里的交互场景前端和服务器能够正常交互)
产生原因:在使用retrofit + okhttp进行网络请求时,返回的数据我使用的是Gson进行自动解析的,其中造成这个走onFailure方法的接口,在errorcode == 0和errorcode!=0的时候,其中data部分服务器端返回的数据结构不同,造成了以上问题。errorcode == 0时返回data的数据为JsonObject类型的,errorcode != 0时返回data的数据为JsonArray类型的,因此造成了Gson再进行自动解析的时候出现解析失败而走onFailure方法(这是我的猜测),之后服务器端把返回的参数类型修改下就正常了
产生原因:在使用retrofit + okhttp进行网络请求时,返回的数据我使用的是Gson进行自动解析的,其中造成这个走onFailure方法的接口,在errorcode == 0和errorcode!=0的时候,其中data部分服务器端返回的数据结构不同,造成了以上问题。errorcode == 0时返回data的数据为JsonObject类型的,errorcode != 0时返回data的数据为JsonArray类型的,因此造成了Gson再进行自动解析的时候出现解析失败而走onFailure方法(这是我的猜测),之后服务器端把返回的参数类型修改下就正常了
相关文章推荐
- RxJava Retrofit2 网络请求,返回数据格式统一的数据报文处理方法
- RxJava Retrofit2 网络请求,返回数据格式统一的数据报文处理方法
- 使用jquery Ajax的post方法或直接使用jqery ajax请求action 得到返回的json数据
- retrofit数据返回类型不统一解析方法
- fiddler导出多个请求返回数据的方法
- Android 解决Retrofit请求数据,数据过多,返回json数据乱码问题
- 向指定 URL 发送GET,POST方法的请求(传入指定url和参数,服务器返回字符串数据)
- 拦截retrofit数据请求返回的信息来判断程序错误点
- 循环请求数据时,返回的结果没有按照顺序显示的解决方法
- HTTP请求数据返回解析Josn org.codehaus.jackson.map.JsonMappingException的解决方法
- easyui form validate总是返回false的原因及解决方法
- django通过ajax发起请求返回JSON格式数据的方法
- Xutils的get请求后,总是返回同样数据的问题解决方式
- 初涉Ajax,以post或get方法发送数据,以json或xml形式接收服务器返回的请求
- Objective-C中关于请求返回NSData数据解析成NSDictionary或NSArray的方法
- Jquery Ajax学习实例3 向WebService发出请求,调用方法返回数据
- RxJava + Retrofit+okhttp 封装,包含对相同格式请求数据、相同格式返回数据处理,显示 Material Design 加载 dialog,文件上传下载进度展示、全局异常捕捉。
- Xutils的get请求后,总是返回相同数据的问题解决方案
- 在外部方法使用Ajax请求返回的数据
- 关于flask表单验证json数据不通过总是返回False的解决方法(flask wtforms: Validation always false)