Flutter REST API

2024 年 8 月 29 日 | 5 分钟阅读

在本节中,我们将学习如何在 Flutter 应用程序中访问 REST API。 如今,大多数应用程序都使用 API 获取远程数据。 因此,对于那些想在 Flutter 中发展事业的开发人员来说,本节将非常重要。

Flutter 提供了 http 包来使用 http 资源。 http 包使用 awaitasync 功能,并提供了许多高级方法,例如 read、get、post、put、head 和 delete 方法,用于从远程位置发送和接收数据。 这些方法简化了基于 REST 的移动应用程序的开发。

http 包的核心方法的详细说明如下

Read: 此方法用于读取或检索资源的表示形式。 它使用 get 方法请求指定的 url,并将响应作为 Future<String> 返回。

Get: 此方法从 get 方法请求指定的 url,并将响应作为 Future<response> 返回。 此处,response 是一个类,它保存响应信息。

Post: 此方法用于将数据提交到指定的资源。 它通过发布给定的数据来请求指定的 url,并将响应作为 Future<response> 返回。

Put: 此方法用于更新功能。 它使用请求有效负载更新目标资源的所有当前表示形式。 此方法请求指定的 url,并将响应作为 Future<response> 返回。

Head: 它类似于 Get 方法,但没有响应正文。

Delete: 此方法用于删除所有指定的资源。

http 包还提供了一个标准的 http client 类,它支持持久连接。 当需要对特定服务器进行大量请求时,此类非常有用。 应该使用 close() 方法正确关闭它。 否则,它的作用类似于 http 类。 以下代码更清楚地说明了这一点。

要从互联网获取数据,您需要按照以下必要步骤操作

步骤 1: 安装最新的 http 包并将其添加到项目中。

要安装 http 包,请打开项目文件夹中的 pubspec.yaml 文件,并在 dependency 部分中添加 http 包。 您可以在此处获取最新的 http 包,并像这样添加它

您可以导入 http 包,如下所示

步骤 2: 接下来,使用 http 包发出网络请求。

在此步骤中,您需要使用 http.get() 方法发出网络请求

在上面的代码中,Future 是一个包含对象的类。 该对象表示潜在的值或错误。

步骤 3: 现在,将从网络请求获取的响应转换为自定义 Dart 对象。

首先,您需要创建一个 Post 类。 Post 类接收来自网络请求的数据,并包含一个工厂构造函数,该构造函数从 JSON 创建 Post。 您可以创建一个 Post 类,如下所示

现在,您必须将 http.response 转换为 Post。 以下代码更新了 fetchPost() 函数以返回 Future<Post>。

步骤 4: 现在,使用 Flutter 获取数据。 您可以在 initState() 中调用 fetch 方法。 以下代码说明了如何获取数据。

步骤 5: 最后,显示数据。 您可以使用 FutureBuilder widget 来显示数据。 此 widget 可以轻松地与异步数据源一起使用。

让我们看一下完整的代码,以了解 Flutter 如何与 REST API 一起工作以从网络获取数据。 您可以在此处了解更多详细信息。

JSON 文件如下所示。