Flutter开发之——网络请求-Dio,Android程序员架构之路该如何继续学习
执行命令flutter pub get三 基础使用3.1 get请求var dio = Dio();var response = await dio.get(‘https://xxx.com/test?id=12&name=wendu’);print(response.data.toString());《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》【d
执行命令
flutter pub get
3.1 get请求
var dio = Dio();
var response = await dio.get(‘https://xxx.com/test?id=12&name=wendu’);
print(response.data.toString());
《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享
response = await dio.get(‘https://xxx.com/test’, queryParameters: {‘id’: 12, ‘name’: ‘wendu’});
print(response.data.toString());
3.2 post请求
var dio = Dio();
var response = await dio.post(‘https://xxx.com/test’, data: {‘id’: 12, ‘name’: ‘wendu’});
3.3 并发请求
var dio = Dio();
var response = await Future.wait([dio.post(‘https://xxx.com/info’), dio.get(‘https://xxx.com/token’)]);
3.4 下载文件
var dio = Dio();
var response = await dio.download(‘https://www.xxx.com/’, ‘/savePath’);
3.5 发送 FormData
var dio = Dio();
var formData = FormData.fromMap({
‘name’: ‘wendux’,
‘age’: 25,
});
var response = await dio.post(‘https://www.xxx.com/info’, data: formData);
3.6 通过FormData上传多个文件
var dio = Dio();
var formData = FormData.fromMap({
‘name’: ‘wendux’,
‘age’: 25,
‘file’: await MultipartFile.fromFile(’./text.txt’, filename: ‘upload.txt’),
‘files’: [
await MultipartFile.fromFile(’./text1.txt’, filename: ‘text1.txt’),
await MultipartFile.fromFile(’./text2.txt’, filename: ‘text2.txt’),
]
});
var response = await dio.post(‘https://www.xxx.com/info’, data: formData);
3.7 监听发送(上传)数据进度
var dio = Dio();
var response = await dio.post(
‘http://www.dtworkroom.com/doris/1/2.0.0/test’,
data: {‘aa’: ‘bb’ * 22},
onSendProgress: (int sent, int total) {
print(’$sent $total’);
},
);
4.1 BaseOptions配置请求
配置BaseOptions
var dio = Dio(BaseOptions(
baseUrl: ‘https://www.wanandroid.com/’,
connectTimeout: 5000,
receiveTimeout: 100000,
headers: {
HttpHeaders.userAgentHeader: ‘dio’,
‘api’: ‘1.0.0’,
},
contentType: Headers.jsonContentType,
responseType: ResponseType.plain,
));
get请求
Response response;
response = await dio.get(’/article/list/0/json’);
print(response.data);
带options的get请求
var responseMap = await dio.get(
‘/article/list/0/json’,
// Transform response data to Json Map
options: Options(responseType: ResponseType.json),
);
print(responseMap.data);
带参数的post请求
Response response
response = await dio.post(
‘//user/login’,
data: {
‘username’: ‘wanandroidUser1’,
‘password’: ‘123456’
},
// Send data with “application/x-www-form-urlencoded” format
options: Options(
contentType: Headers.formUrlEncodedContentType,
),
);
print(response.data);
fetch请求
Response response;
response = await dio.fetch(
RequestOptions(path: ‘https://www.wanandroid.com/article/list/0/json’),
);
print(response.data);
4.2 拦截器
var dio = Dio(BaseOptions(
baseUrl: ‘https://www.wanandroid.com/’,
connectTimeout: 5000,
receiveTimeout: 100000,
更多推荐



所有评论(0)