首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

本文章将讲述

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 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);

...

}

完毕

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200613A0RWDZ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券