Flutter 使用 dio 遇到的问题合集

这篇具有很好参考价值的文章主要介绍了Flutter 使用 dio 遇到的问题合集。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

泪流满面啊,,,,,

1. postHttpLogin-异常-----DioException [bad response]: The request returned an invalid status code of 500.

/// 错误代码如下:

Future<String?> postHttpLogin(String textContent, String id)  async {
  try{
    final response = await dio.post("$baseUrl/xxxx",
        data: {'deviceId': id} ,  options: Options(responseType: ResponseType.json));
    LogsWTF("msg----------: ${response.toString()}");
    return response.toString();
  }catch(e){
    LogsWTF("msg-----------postHttpLogin-异常-----$e");
  }
}


/// 正确代码如下,改动地方 data -》 queryParameters
、
Future<String?> postHttpLogin(String textContent, String id)  async {
  try{
    final response = await dio.post("$baseUrl/xxxx",
        queryParameters: {'deviceId': id} ,  options: Options(responseType: ResponseType.json));
    LogsWTF("msg----------: ${response.toString()}");
    return response.toString();
  }catch(e){
    LogsWTF("msg-----------postHttpLogin-异常-----$e");
  }
}
2. post请求失败 DioException [bad response]: The request returned an invalid status code of 415.

这个问题有些离谱,415,415都说是请求头的问题,但结果却不是文章来源地址https://www.toymoban.com/news/detail-775754.html

错误代码如下:


void postHttpPaint(String textContent, String token, String aspectRatio)  async {
  try {
    ///发送 FormData:
    FormData formData =
    FormData.fromMap({
     ....数据省略
    });
    final response = await dio.post("$baseUrl/xxx", data:formData,
        options: Options(headers: {"Authorization": token,'Content-Type': 'application/json;charset=UTF-8'})
    );

    LogsWTF("---postHttpPaint----dio 数据-${response.data.toString()}---");
  } catch (e) {
    LogsWTF("post请求失败  ${e}");
  }
}

/// 正确代码如下:改动地方,将data数据直接赋值

void postHttpPaint(String textContent, String token, String aspectRatio)  async {
  try {
    final response = await dio.post("$baseUrl/xxx", data:{...数据省略...},
        options: Options(headers: {"Authorization": token,'Content-Type': 'application/json;charset=UTF-8'})
    );

    LogsWTF("---postHttpPaint----dio 数据-${response.data.toString()}---");
  } catch (e) {
    LogsWTF("post请求失败  ${e}");
  }
}


到了这里,关于Flutter 使用 dio 遇到的问题合集的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • flutter3使用dio库发送FormData数据格式时候的坑,和get库冲突解决办法

    问题1:当你使用 FormData.from(Flutter3直接不能用) 的时候,可能会提示没有这个方法,或者使用 FormData.fromMap(flutter3的dio支持) 的时候也提示没有,这时候可能就是和get库里面的Formdata冲突了 问题1:The method \\\'fromMap\\\' isn\\\'t defined for the type \\\'FormData\\\'. (Documentation)  Try correcting the name to

    2024年01月19日
    浏览(38)
  • Flutter之dio请求封装

    dio是一个http请求库,功能十分强大,支持Restful API、请求取消、FormData、拦截器等,下面我们对dio进行简单的封装,这样我们在项目中使用时会更顺手,这里还需要配合AndroidStudio的 jsonToDartBeanAction插件配合使用 打开我们的flutter的项目的pubspec.yaml 文件,然后在dependencies 中添加依

    2024年02月14日
    浏览(44)
  • flutter dio 请求封装(空安全)

    2024年02月06日
    浏览(56)
  • Flutter Dio 库的简单封装

    dio 库Flutter 中是比较流行的网络请求库。 其中在拦截器可以拦截请求,响应以及错误 权限验证:比如接口请求后端返回401未授权时可以跳到登录页,403跳到未授权页面; 异常监控:可以在拦截器处理异常,并且上报到异常监控后台或者发送异常预警消息; 缓存接口:可以对

    2024年02月11日
    浏览(53)
  • Flutter之Dio封装+实例(自己梳理)

    https://github.com/cfug/dio/blob/main/dio/README-ZH.md  手动添加到pubspec.yaml: 在终端使用以下命令: dio 是一个强大的 HTTP 网络请求库,支持全局配置、Restful API、FormData、拦截器、 请求取消、Cookie 管理、文件上传/下载、超时、自定义适配器、转换器等。 单例模式详见:Flutter之单例模式

    2024年02月08日
    浏览(89)
  • 【Flutter】Dio 强大的Dart/Flutter HTTP客户端

    Dio是一个强大的Dart/Flutter HTTP客户端,支持全局配置、拦截器、FormData、请求取消、文件上传/下载、超时等功能。 首先,

    2024年02月11日
    浏览(46)
  • flutter开发实战-dio文件下载实现

    flutter开发实战-dio文件下载实现 在开发中,需要下载文件,这里使用的是dio dio 是一个强大的 Dart HTTP 请求库,支持全局配置、Restful API、FormData、拦截器、 请求取消、Cookie 管理、文件上传/下载、超时以及自定义适配器等。 在工程中pubspec.yaml引入dio 我们对dio进行封装 文件下

    2024年02月11日
    浏览(49)
  • flutter开发实战-请求dio设置Cookie

    flutter开发实战-请求dio设置Cookie 在最近开发中碰到了需要websocket长链接收到响应的auth,在之后的请求中需要将其设置为cookie中。 如Cookie:auth=DHSfQQSAXf89xZqJTLdEDVI2hwzc7p2lUmSNNdUSlgW2MyfQIN+pYr7jUbkX/; 设置cookie用到了dio_cookie_manager组件 在pubspec.yaml引入dio_cookie_manager 2.1 使用CookieJar Cookie

    2024年02月15日
    浏览(58)
  • 解决cloudflare worker遇到failed to dial to (wss://): 200 OK > websocket: bad handshake 的问题

    destination common/retry: [transport/internet/websocket: failed to dial WebSocket transport/internet/websocket: failed to dial to (wss://cw.fjh1997.top/): 200 OK websocket: bad handshake] common/retry: all retry attempts failed 开发的时候遇到这个问题,奈何浏览器抓不了websocket的握手包,正常握手包是101状态码的http数据包,但

    2024年03月14日
    浏览(62)
  • Flutter 极简 Dio 组件二次封装文档

    本文档介绍了如何通过二次封装 Flutter Dio 组件来简化网络请求的过程。通过封装,我们可以提高代码复用性,简化调用方式,并添加一些常用的功能,使网络请求更加易于管理和维护。 首先,确保你的 Flutter 项目已经添加了 Dio 的依赖。在项目的 pubspec.yaml 文件中,添加以下

    2024年02月11日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包