搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > 我的大前端生涯 > flutter网络dio框架公共请求参数、请求header使用总结

flutter网络dio框架公共请求参数、请求header使用总结

我的大前端生涯 2020-06-14

本文章将讲述 

1.get请求中配置公共参数

2.post请求配置公共参数 

3.请求header配置


1 引言

在实际应用开发中,我们会有像 token、appVersionCode 等等这些每个接口请求都需要传的参数 ,称之为公共请求参数,公共请求参数配置方式总结有三:

  • 在get与post请求时将参数配置进去,也可以通过请求header配置

  • 通过请求header将参数配置进去

  • 通过拦截器将请求参数配置到参数配置中或者是header中

2 dio 配制公共请求参数

那么在这里 dio 的请求中我们可以考虑这样来配制:

String application = "V 1.2.2";
int appVersionCode = 122;
///[url]网络请求链接
///[data] post 请求时传的json数据
///[queryParameters] get请求时传的参数
void configCommonPar(url,data,Map<String, dynamic> queryParameters){
///配制统一参数
if (data != null) {
data['application'] = application;
data['appVersionCode'] = appVersionCode.toString();
} else if (queryParameters != null) {
queryParameters['application'] = application;
queryParameters['appVersionCode'] = appVersionCode.toString();
} else {
///url中有可能拼接着其他参数
if (url.contains("?")) {
url += "&application=$application&appVersionCode=$appVersionCode";
} else {
url += "?application=$application&appVersionCode=$appVersionCode";
}
}
}
}

3 dio 配制Content-Type 与请求 header

我们在创建 Dio对象时,会初始化一个 BaseOptions 来创建 Dio

BaseOptions options = BaseOptions();
///请求header的配置
options.headers["appVersionCode"]=406;
options.headers["appVersionName"]="V 4.0.6";

options.contentType="application/json";
options.method="GET";
options.connectTimeout=30000;
///创建 dio
Dio dio = new Dio(options);

我们也可以在每次发送 get 、post 等不同的请求时,通过 dio 获取到 默认的 options 然后修改一下

void getRequestFunction2() async {
///用户id
int userId = 3;
///创建 dio
Dio dio = new Dio();

///请求地址
///传参方式1
String url = "http://192.168.0.102:8080/getUser/$userId";
///在这里修改 contentType
dio.options.contentType="application/json";
///请求header的配置
dio.options.headers["appVersionCode"]=406;
dio.options.headers["appVersionName"]="V 4.0.6";
///发起get请求
Response response = await dio.get(url);

...
}

完毕


版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《flutter网络dio框架公共请求参数、请求header使用总结》的版权归原作者「我的大前端生涯」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注我的大前端生涯微信公众号

我的大前端生涯微信公众号:qing-chen-yi-ke

我的大前端生涯

手机扫描上方二维码即可关注我的大前端生涯微信公众号

我的大前端生涯最新文章

精品公众号随机推荐