当前位置: 首页 > news >正文

济南 制作网站 公司吗网站百度

济南 制作网站 公司吗,网站百度,移动应用网站开发,网站建设工作下步打算Flutter Dio如何自定义拦截异常 应用场景 我们一般会统一拦截DioExceptionType 如400,403,500 等错误 但有时候,有个地方合并请求多个接口,如果一个接口500,那么导致其他请求不在执行,因为统一拦截了500&…

Flutter Dio如何自定义拦截异常

应用场景

我们一般会统一拦截DioExceptionType 如400,403,500 等错误
但有时候,有个地方合并请求多个接口,如果一个接口500,那么导致其他请求不在执行,因为统一拦截了500,
修改方法在请求时加一个Header 如:isIntercep 字段,在Dio onError 时 解出这个Header来,如有这个字段返回如下,就是不拦截,这样的话只是这个接口返回数据错误,不影响其他接口执行

 handler.resolve(Response<Map<String, dynamic>>(requestOptions: err.requestOptions,statusCode: 200,data: {},),///请求公共参数拦截器
class HttpParamsInterceptor extends Interceptor {static const language = "language";static const appname = "appname";static const mobileType = "mobileType";static const mobileId = "mobileId";static const version = "version";void onRequest(RequestOptions options, RequestInterceptorHandler handler) {var headers = options.headers;headers[language] = LocaleController.getCountryCode;headers[mobileType] = GetPlatform.isAndroid ? "Android" : "IOS";headers[version] = PackageInfoManager().version;headers[appname] = PackageInfoManager().appName;if (AppConfig.instance.enableRequestJsonLog) {Log.r('${"--------------------onRequest---------------"}\n${options.method}${' Url:'} ${options.uri}\n${'Query Parameters:'}${options.queryParameters}\n${'Body:'}${options.data != null ? const JsonEncoder.withIndent('  ').convert(options.data) : ""}\n\n');}super.onRequest(options, handler);}void onResponse(Response response, ResponseInterceptorHandler handler) {if (AppConfig.instance.enableResponseJsonLog) {Log.r('${"-----------------------------Response Start-----------------------------"}\n${response.requestOptions.method}${' Url:'} ${response.requestOptions.uri}\n${'Query Parameters:'}${response.requestOptions.queryParameters}\n${'Body:'}${response.requestOptions.data != null ? const JsonEncoder.withIndent('  ').convert(response.requestOptions.data) : ""}\n${'response data:'}\n$response\n\n${"-----------------------------Response End-------------------------------"}\n\n\n');}super.onResponse(response, handler);}Future<void> onError(DioException err, ErrorInterceptorHandler handler) async {AppException appException = AppException.create(err);if (AppConfig.instance.enableRequestLog) {Log.e('DioException===: +${err.toString()}');}Log.logPrint(err.requestOptions.headers);Log.logPrint(appException.type);Map<String, dynamic> data = err.requestOptions.headers;bool? isIntercep = data[APIConstant.ignoreIntercep];if (isIntercep == true &&(appException.type == DioExceptionType.badResponse ||appException.type == DioExceptionType.unknown)) {return handler.resolve(Response<Map<String, dynamic>>(requestOptions: err.requestOptions,statusCode: 200,data: {},),);}return handler.next(appException);}
}
http://www.zhongyajixie.com/news/16151.html

相关文章:

  • 毕业设计成品网站网络营销专业主要学什么
  • 网站建设包括如何广告推广
  • 广州市增城区建设局网站成都高端品牌网站建设
  • 怎么建设课程网站优化大师app下载安装
  • wamp可以做视频网站吗在线资源链接
  • 网站建设背景图片媒体资源网
  • 那些网站后台做推广效果好营销是做什么
  • 网站建设制作设计营销公司杭州seo短视频网页入口引流下载
  • 网站编辑软件有哪些网络整合营销
  • 哪里有免费的网站推广软件啊seo搜索引擎优化是通过优化答案
  • 企业邮箱注册需要多少钱seo外链发布平台有哪些
  • 坪山网站建设哪家便宜怎么让百度收录
  • 手机做网站软件推广策划方案怎么写
  • 建设一个网站要多少钱最有效的线下推广方式
  • 宁波外贸建站公司能够免费换友链的平台
  • 做直播的视频在线观看网站搜索引擎推广有哪些平台
  • 温州市鹿城区建设小学网站百度快照优化推广
  • 做网站宣传有用吗国内真正的永久免费砖石
  • 深圳哪里有做网站推广的廊坊自动seo
  • 网站地图的使用seo关键词外包
  • 电视直播网站怎么做优化大师官方下载
  • 南通的互联网公司网站seo自学教程
  • 网站界面设计尺寸规范长沙百度推广开户
  • 网站没有经过我司审核通过白名单最新病毒感染
  • 手机网站建设设计兰州网络seo公司
  • 企业网站备案可靠的网站优化
  • 发卡网站怎么做seo推广外包企业
  • 可以做动漫网站的源码源码seo排名怎么看
  • 什么网站可以做miR的差异表达图中山seo关键词
  • 网站建设 武讯科技b站在哪付费推广