189 8069 5689

flutter请求,flutter请求接口

Flutter 之 dio 请求HTTP

简单说明flutter使用Dio包发送请求

创新互联建站-专业网站定制、快速模板网站建设、高性价比双河网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式双河网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖双河地区。费用合理售后完善,10余年实体公司更值得信赖。

1.添加依赖

2.导入dio

3.设置options

4.发送请求

解决办法:

2019-08-05补充:

设置queryParameters是get请求,如果post失败可以考虑是否是httpheader的内容不符,本人就碰到 Content-Type的问题,默认 Content-Type为ContentType.json需要根据自己修改:

flutter 网络请求dio的简单使用以及请求头参数的自定义

dio的使用方式有很多,我就只选出我认为最好用的api方式做下记录,把get成post就是post请求了,网络请求都用的百度的api,实际上的response没有任何意义,所以只要打印出response有值即可。

1.最简单的请求例子,网络请求是异步的所以用async await

2.带有参数的get请求

3.自定义请求头,可定义的请求头dart已经为我们提供了专门的类存了对应的字符,引入以下库,就能使用 HttpHeaders

一般我们请求接收到的数据是json格式,如'accept: application/json',我们就可以这样自定义请求头

4.使用Baseoptions

其他详细参数设置参考如下:

flutter Dio封装get/post请求

最近刚学flutter,参考大佬们的文章,使用dio简单封装了一下网络请求工具类。

needToken请忽略,以前是打算获取本地存储的token,需要传token的请求带上,后来发现这么做有问题,后面会提到。

根据后台返回数据,简单封装。

post请求和get请求区别不大,我的项目get请求参数直接拼在url后面,所以get使用queryParameters,后台要求post放body,所以post使用data。

我们项目很多请求需要带上登录返回的token,所以,我用shared_preferences插件把它存在本地,shared_preferences在iOS端使用的是NSUserDefaults。

以前的想法,如果needToken为true,则去获取本地的token,设置dio.header,如下所示

适当的时机调用complete(),即网络请求完成,获取到数据的时候,然后返回complete.future。

我也是刚学的菜鸡,如有错误,嘿嘿嘿。。。

Flutter中的网络请求库Dio简单使用

pubspec.yaml配置dio: ^版本号

执行Pub get

导入头文件

get请求与post请求

简单封装

封装请求类:

封装配置信息类:

调用:

flutter 同时执行多个异步请求回调

flutter中提供了Future.wait()函数,可以在执行多个异步请求之后有一个统一的回调结果,但是劣势在于,每一个异步函数的函数体中都需要执行return去返回结果,如果在异步请求中,有多层success或者fail这种函数的嵌套,那么可能会在某个地方忽略掉retrun,导致没有办法拿到正确的结果。所以这里封装了一个类似于js中Promise中的类去执行多个异步请求。

调用方式如下:


当前文章:flutter请求,flutter请求接口
文章分享:http://cdxtjz.com/article/dssjigo.html

其他资讯