热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

[Flutter]http和Dio插件实现网络请求

http和dio实现网络请求http:配置依赖#网络请求http:^0.13.4导入包import'package:httphttp.dart'ashttp;声

http和dio实现网络请求


http:


配置依赖

#网络请求
http: ^0.13.4

导入包

import 'package:http/http.dart' as http;

声明一个列表存储请求返回的数据

List _list = [];

声明请求方法

_getData() async {
var apiUrl = Uri.parse('https://jdmall.itying.com/api/pcate');
var respOnse= await http.get(apiUrl);
setState(() {
//response.body的类型是String。
_list = json.decode(response.body)['result'];
});
}

初始化方法

@override
void initState() {
super.initState();
_getData();
}

使用请求的数据

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('请求数据'),
),
body: _list.isNotEmpty
? ListView.builder(
itemCount: _list.length,
itemBuilder: (context, index) {
return ListTile(
title: Text(_list[index]['title']),
);
})
: const Text('正在请求...'),
);
}
}

Dio:


配置依赖

dio: ^4.0.4

导入包

import 'package:http/http.dart' as http;

声明一个列表存储请求返回的数据

List _list = [];

定义请求数据的方法

_getData() async {
var respOnse= await Dio().get('https://jdmall.itying.com/api/pcate');
if (response.statusCode == 200) {
print(response.data);
setState(() {
_list = response.data['result'];
});
} else {
print('Response status:${response.statusCode}');
}
print('${response.data}');
}

初始化方法

@override
void initState() {
super.initState();
_getData();
}

使用

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('请求数据'),
),
body: _list.isNotEmpty
? ListView.builder(
itemCount: _list.length,
itemBuilder: (context, index) {
return ListTile(
title: Text(_list[index]['title']),
);
})
: const Text('正在请求...'),
);
}
}


推荐阅读
author-avatar
听海的音_104
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有