在Flutter中创建您的第一个API调用

Flutter是Google的移动框架,可让您使用Android和iOS的单一源代码开发本机移动应用程序。它使用Dart作为编程语言。

让我们简要讨论一下如何进行api调用。

在这里,我将使用GitHub UsersAPI。

  获取请求 :https://api.github.com/users JSON响应 [ 
{
“ login”:“ mojombo”,
“ id”:1
“ avatar_url”:“ https://avatars0.githubusercontent.com/u/1?v=4”,
“ gravatar_id”:“”,
“ url”:“ https://api.github.com/users/mojombo”,
“ html_url”:“ https://github.com/mojombo”,
“ followers_url”:“ https://api.github.com/users/mojombo/followers”,
“ following_url”:“ https://api.github.com/users/mojombo/following{/other_user}”,
“ gists_url”:“ https://api.github.com/users/mojombo/gists{/gist_id}”,
“ starred_url”:“ https://api.github.com/users/mojombo/starred{/owner}{/repo}”,
“ subscriptions_url”:“ https://api.github.com/users/mojombo/subscriptions”,
“ organizations_url”:“ https://api.github.com/users/mojombo/orgs”,
“ repos_url”:“ https://api.github.com/users/mojombo/repos”,
“ events_url”:“ https://api.github.com/users/mojombo/events{/privacy}”,
“ received_events_url”:“ https://api.github.com/users/mojombo/received_events”,
“ type”:“用户”,
“ site_admin”:false
},...
]

我们可以使用以下任何IDE来创建Flutter Project

  • Android Studio
  • Visual Studio代码
  • 聪明的想法

我选择了Visual StudioCode。 在Flutter中创建项目后, main.dart将在lib文件夹中可用。 所有修改都在此文件中完成。

然后创建一个类User来解析api的json响应。

 类User {String name; 
int id; User({this.name,this.id});}

创建User类后,在main.dart中添加基本​​模块

 导入'package:http / http.dart'为http; 
导入'dart:async';
导入'dart:convert';
  • package:http / http.dart’作为http :进行http调用
  • dart:async:进行将来的异步调用。
  • dart:convert:解码来自api的json响应。
  Future <List > fetchUsersFromGitHub()异步{最终响应=等待http.get('https://api.github.com/users'); 
打印(response.body);
列出responseJson = json.decode(response.body.toString());
List userList = createUserList(responseJson);
return userList;} List createUserList(List data){List list = new List(); for(int i = 0; i <data.length; i ++){
字符串标题= data [i] [“ login”];
int id = data [i] [“ id”];
用户电影=新用户(名称:标题,ID:ID);
list.add(电影);
}
返回列表;}

我们要做的就是调用fetchUsersFromGitHub以显示用户列表。

进一步参考https://github.com/rajajawahar/FirstAPIInFlutter

感谢您的阅读🙂