本文章将讲述 1.get请求中配置公共参数 2.post请求配置公共参数 3.请求header配置 1 引言在实际应用开发中,我们会有像 token、appVersionCode 等等这些每个接口请求都需要传的参数 ,称之为公共请求参数,公共请求参数配置方式总结有三: 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);
... }
完毕
|