Flutter Dio网络请求:DioError [DioErrorType.RESPONSE]: Http status error [400]或者[500]
DioError [DioErrorType.RESPONSE]: Http status error [400]
1)检查请求参数是否正确 :
比如,如果参数map中value是一个数组,如下代码中的innerParticipateGroups和innerParticipators的value值不能转成toString,否则就会报400
Map<String,dynamic> params = {"chamberId":resultId,"description":remark,"finishAt":1564979400000,"innerParticipateGroups":[],"innerParticipators":[],"name":meetingName,"reportId":"","scheduleId":"","startAt":1564975800000};
2)如果以上正确,检查get和post调用时参数的就收方式
看下Dio(v2.1.0)的GET请求源码:
Future<Response<T>> get<T>(String path, {Map<String, dynamic> queryParameters,Options options,CancelToken cancelToken,ProgressCallback onReceiveProgress,}) {return request<T>(path,queryParameters: queryParameters,options: _checkOptions("GET", options),onReceiveProgress: onReceiveProgress,cancelToken: cancelToken,);}
GET请求的源码中参数接受要求传入的是queryParameters, 所以调用时用queryParameters
response = await dio.get(url, queryParameters: params);
POST源码:
/// Handy method to make http POST request, which is a alias of [Dio.request].Future<Response<T>> post<T>(String path, {data,Map<String, dynamic> queryParameters,Options options,CancelToken cancelToken,ProgressCallback onSendProgress,ProgressCallback onReceiveProgress,}) {return request<T>(path,data: data,options: _checkOptions("POST", options),queryParameters: queryParameters,cancelToken: cancelToken,onSendProgress: onSendProgress,onReceiveProgress: onReceiveProgress,);}
POST源码中参数接受有data和queryParameters,调用时key用data,用queryParameters会报400,queryParameters这个key不知道具体怎么用,官方也没具体说明,官方文档中post请求都是用data传参,有懂的大神麻烦给补充一下。
response = await dio.post(url, data : params);
DioError [DioErrorType.RESPONSE]: Http status error [500]
检查header是否设置了或者设置错了
HttpGo() {dio = Dio(BaseOptions(baseUrl: 'https://www.***.com/',headers: getHeaders(),connectTimeout: 5000,receiveTimeout: 3000,));}getHeaders () {return {'Accept':'application/json, text/plain, */*','Content-Type':'application/json','Authorization':"**",'User-Aagent':"4.1.0;android;6.0.1;default;A001","HZUID":"2",};}
DioError [DioErrorType.RESPONSE]: Http status error [415]
把请求参数数据格式FormData换成Map<String,dynamic>试试
如果你觉得对你有用,就点个赞支持一下吧~ 谢谢啦~
Flutter Dio网络请求:DioError [DioErrorType.RESPONSE]: Http status error [400]或者[500]相关推荐
- flutter dio网络请求 get post 图片上传
Dio下载地址github:dio 初始化网络请求 BaseOptions option = BaseOptions(); //初始化cotentType option.contentType = C ...
- dio java_Flutter -------- dio网络请求
dio是Flutter中文网开源的一个强大的Dart Http请求库,支持Restful API.FormData.拦截器.请求取消.Cookie管理.文件上传/下载.超时等... 1.添加依赖# d ...
- Flutter 项目实战 Dio网络请求 四
/ HTTP | HTTPS / HTTP是一个客户端(用户)和 服务端(网站)之间请求和应答的标准,通常使用TCP协议.客户端发起一个HTTP请求到服务器上指定端口(默认端口为80).客户 ...
- dio拦截器 flutter_详解flutter之网络请求dio,请求,拦截器简单示例
flutter一直很火的网络请求插件dio 直接上代码,写成一个类,可以直接使用 包含请求的封装,拦截器的封装 import 'package:dio/dio.dart'; import 'dart: ...
- Flutter——Dio网络库的使用与封装
Dio网络库的使用与封装 导入依赖 定义变量 创建Dio对象 封装Get和Post请求 网络请求 释放dio对象 封装类 解析 使用 导入依赖 #网络库dio: ^4.0.0 定义变量 // defa ...
- 网络摄像头100万.200万.300万.400万.500万分辨率多少?
常见的分辨率大致有以下几种: 500W≈2560*1920 300W≈2048*1536 200W≈1920*1080(1080P) 200W≈1600*1200 130W≈1280*960 100W ...
- Flutter开发之HTTP网络请求:dio库(28)
dio是Flutter中文网开源的一个强大的Dart Http请求库,支持Restful API.FormData.拦截器.请求取消.Cookie管理.文件上传/下载.超时等- 第三方库 dio实现g ...
- flutter网络请求dio的get、post、上传文件、下载文件总结
题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天. 重要消息 flutter中网络请求dio使用分析 视频教程在这里 Flutter 从入门实践到开发一个APP之UI基础 ...
- Flutter实战之网络请求框架Dio入门使用
本篇博文涉及到的demo很简单,就是通过调用天气查询接口来显示城市的天气信息.通过本demo可以了解: 1.CityPicker的简单使用 2.Dio网络请求库的简单使用 3.Flutter对json ...
最新文章
- 《高性能科学与工程计算》——3.7 习题
- 【干货】救火必备:线上故障排查套路大全
- boost::container模块实现抛出异常
- Oracle with语句的用法
- android activity横竖屏切换,Activity重新创建问题解决!
- 201671010435-王潇-实验四附加实验-项目互评
- webvie使用--官方api
- macOS 运行react项目
- 团队-象棋游戏-代码设计规范
- java access_Java 连接Access数据库的两种方式
- win10命令提示符怎么打开_win10死机出现蓝屏代码SYSTEM_PTE_MISUSE怎么解决
- pip install xx 时遇到There was a problem confirming the ssl certificate...的解决办法
- SSM开发相关安装教程(idea、tomcat、maven、DB)
- 小杜机器人线下店_泡泡玛特线下机器人商店突破1000台!
- 如何编写高质量的Java代码
- 商务人士适合用什么邮箱?一款商务人士必备的邮箱推荐
- 原码、补数、补码以及计算机中为什么用补码存储
- P1796 汤姆斯的天堂梦(动态规划)
- Docker删除镜像/容器
- 用计算机打山有木兮,山有木兮 - 在线打字测试(dazi.kukuw.com)