dio设置自定义post请求_flutter中dio的post请求方式使用总结
题记—— 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天。重要消息1 引言dio用来在flutter跨平台开发中访问网络的框架,在使用的时候,我们首先是引入依赖dependencies:dio: 3.0.9也可以访问国内pub仓库来查看 dio的最新版本。一般添加依赖如下所示dependencies:dio: ^3.0.92.1 dio post 请求提交 FormData 表
题记
—— 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天。
重要消息
1 引言
dio用来在flutter跨平台开发中访问网络的框架,在使用的时候,我们首先是引入依赖
dependencies:
dio: 3.0.9
也可以访问国内pub仓库来查看 dio的最新版本。
一般添加依赖如下所示
dependencies:
dio: ^3.0.9
2.1 dio post 请求提交 FormData 表单数据
2.1 Dio post 请求提交 FormData 表单数据FormData 将提交的参数 name与value进行组合,实现表单数据的序列化,从而减少表单元素的拼接
也可以这样来描述:FormData 接口提供了一种表示表单数据的键值对的构造方式,通过FormData发出的请求编码类型被设为 “multipart/form-data”,而在网络请求访问中,通过 Content-Type 来记录这个值,可以理解为Content-Type 表示具体请求中的媒体类型信息。
而我们在实际开发中常用的 Content-Type如下
multipart/form-data
application/json JSON数据格式
application/x-www-form-urlencoded 表单数据格式
下面我们将使用 dio 来发起一个post请求,提交参数的格式为 FromData
void postRequestFunction() async {
///创建Dio
Dio dio = new Dio();
///发送 FormData:
FormData formData = FormData.fromMap({"name": "张三", "age": 22});
String url ="http://192.168.200.68:8080/registerUser";
///发起 post 请求 如这里的注册用户信息
Response response = await dio
.post(url, data: formData);
result = response.data.toString();
setState(() {});
}
抓包所得如下
我们也可以看到参数的格式
在这里我们可以看到 Content-type 是 text/plain 而并不是我们上面所说的 multipart/form-data ,这是因为在通过Dio 的 FormData 封装参数时,会进行一步默认的设置如下图所示
2.2 Dio post 请求提交 json 数据
下面我们使用 dio 发起一个post请求,提交json格式的参数
///post请求发送json
void postRequestFunction2() async{
String url = "http://192.168.0.102:8080/registerUser2";
///创建Dio
Dio dio = new Dio();
///创建Map 封装参数
Map map = Map();
map['userName']="小明";
map['userAge']=44;
///发起post请求
Response response = await dio.post(url,data: map);
var data = response.data;
}
抓包所得如下
从上图中,我们可以看到 Content-Type 标识了传参方式是以 json 格式来发送的,下图中我们可以看到具体的参数
完毕
更多推荐


所有评论(0)