1.pubsper.yaml 增加依赖
2.新建名称为 httpclient的dart文件
导入dio依赖
import 'package:dio/dio.dart';
class httpCilent{
static final String GET='get';
static final String POST='post';
static void get(String url,Function callBack){
request(url,callBack,method:GET);
}
static void post(String url,Function callBack,{Map parmas}){
request(url,callBack,method:POST,parmas: parmas);
}
static void request (String url, Function callBack,{String method,Map parmas })async{
BaseOptions op=new BaseOptions(
connectTimeout:3000, //超时时间
receiveTimeout:3000 //两次请求之间的间隔
);
Dio dio =new Dio(op);
Response resopnse;
try{
if(method =='get'){
resopnse=await dio.get(url);
}else{
resopnse =await dio.post(url,queryParameters: parmas);
}
return callBack(resopnse.data);
}catch (exception) {
print('错误');
}
}
}
注释: 方法(另一个方法) 此为dart匿名函数的写法,方法({参数}) 此为dart 命名函数的写法,参数可传可不传
调用方式:
另一个dart文件
import 'httpserver.dart';
调用
httpCilent.get("http://www.mocky.io/v2/5b7143ae3200001402f36c46",(data){
PostDart user =PostDart.fromJson(data);
print('数据为'+ user.data.pics.toString());
});
这里的data就是 之前定义过的 request 方法中的 return callBack(resopnse.data);
dart语法:https://www.jianshu.com/p/06aebcad0543