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请求接口
URL网址:http://ybzwz.com/article/dssjigo.html