怎么查找 Retrofit 请求失败的原因
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么查找 Retrofit 请求失败的原因相关的知识,希望对你有一定的参考价值。
参考技术A 一.首先定义带泛型返结RetrofitAPI原结映射种形式:classResultStringResultMessage;intResultCode;TData;二.处理错误@朱诗雄前辈差放作静态放RetroUtilApiException自定义异放入错误码错误信息(错误码止):staticObservableflatResult(Resultresult)returnObservable.create(subscriber->switch(result.ResultCode)caseConstants.SUCCESS_CODE:subscriber.onNext(result.Data);break;caseConstants.ERROR_CODE:subscriber.onError(newApiException(result.ResultCode,result.ResultMessage);break;default://subscriber.onCompleted(););三.API包装类于述Result格式返结统调用flatMap(RetroUtil::flatResult)API每API返结Observable形式并且errorHandler统处理错误//接口Observable>getUserInfo();//包装ObservablegetUserInfo()returnmApi.getUserInfo.flatMap(RetroUtil::flatResult);//调用apiWrapper.getUserInfo().subscrible(user->//处理逻辑,error->//处理错误逻辑异封装通统处理//提供默认Action一参数弹//throwablemessage打印志等)flutter 使用retrofit
参考技术A 问题:1,执行flutter pub run build_runner build后没有生成.g.dart文件
2,执行flutter pub run build_runner build失败
原因
1,不生成.g.dart文件可能没有写@RestApi()
2,
3,可能是build_runner的版本问题
最后修改如下
问题
原因
修改
在资源中添加秘钥文件
.yaml文件中添加
问题:
error DioError [DioErrorType.DEFAULT]: FormatException: Unexpected character (at character 2)
原因:
解决:
以上是关于怎么查找 Retrofit 请求失败的原因的主要内容,如果未能解决你的问题,请参考以下文章
Android Retrofit+RxJava 优雅的处理服务器返回异常错误