retrofit解析总是返回onFailure方法原因

第一种产生的场景:使用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进行解析数据时,参数名相同结果参数不同,就会出现解析不了,总是走onFilaure方法的问题,这是我们仔细检查实体类参数的类型,修改后就可以了。

你可能感兴趣的:(Android问题及解决,Android,retrofit)