所有文章 > API开发 > 如何发起API 请求(使用 Postman)
如何发起API 请求(使用 Postman)

如何发起API 请求(使用 Postman)

注意:本文适用于那些对如何调用 API 知之甚少或一无所知的人士。

阅读并练习本文后,您将了解如何使用 Postman 执行具有 GET 方法的 API 调用,并了解相关术语。

什么是 API?为什么要使用 API?

简单来说,一个软件(我们假设这个软件是软件A)的API就是一个工具,它使得另一个软件X能够与软件A进行交互。

例如:Facebook 提供了 Facebook API。利用此 API,您可以编写软件/代码脚本来与您的 Facebook 帐户进行交互,而无需采用缓慢的点击式交互。

这种API提供的交互主要分为2个类别:

  • 获取软件 A 的当前数据。示例:使用 Facebook API,您可以查看有关您的帐户的信息,例如帐户名称是什么,该帐户有多少个好友/帖子。
  • 在软件 A 上编辑/创建新数据。示例:使用 Facebook API,您可以编辑您个人资料上的帖子,或创建新帖子。

那么为什么要使用 API?因为自动化。将操作转换为代码脚本可以实现自动化,从而实现比常规交互(例如点击)更快的执行速度。

API 类型

API 通常按格式分为 4 个主要类别:RPCSOAPREST GraphQL。REST 是当今最流行的 API 格式之一。因此本文将使用公共 REST API 进行演示。

演示:如何使用 Postman 调用 API

本文将使用 Poke API(一种公共 REST API)进行演示。Poke API 用于与公共 Pokemon 数据库进行交互。我使用 Pokemon 资源(什么是资源?请参阅后面的解释)。Poke API 文档在此处:https://pokeapi.co/docs/v2

1)API 文档的结构

API 文档通常分为几个部分。每个部分都是一个可以使用 API 获取的数据表。

例如,查看Poke API 文档,您可以看到有名为 Berries、Contests、Encounters、Evolution 等的表组……

在每个表组中,都有一个可以使用 Poke API 获取的表列表。这些表称为 API 资源。例如,在 Pokemon 组中,有一个 Pokemon 表,其中列出了所有 Pokemon。

因此,使用 API 文档,我们将知道可以使用此 API 获取哪些表/资源。

2)从 Pokemon 表获取数据

2.1)API请求工具

要使用 API,我们需要一个工具来发出 API 请求。最流行的工具是:

  • Postman:一个主要用于测试 API 请求的 Web 应用程序 / 桌面应用程序
  • CURL:一个命令行工具
  • 一种编程语言(例如 Python)

我将在本演示中使用 Postman。您可以在http://postman.com上使用 Postman 的网页版本。使用您的 Google 帐户登录,如果这是您第一次使用 Postman,请创建个人资料,然后您就可以开始了。登录后,您将看到下面视频中的屏幕。单击“新建”>“HTTP 请求”开始发出 API 请求。

2.2)检测发出 API 请求所需的输入

你需要:

要发出 API 请求,您至少需要 3 个输入:

  • 端点:数据表的 URL
  • 方法:与端点使用的交互方法
  • 授权:针对API系统的授权方式。

当您查看Pokemon 表时,您将看到有关端点和方法的以下信息:

在图片中,你可以看到方法是GET。端点是https://pokeapi.co/api/v2/pokemon

后半部分{id or name},称为路径参数。路径参数可以是必需的,也可以是可选的。对于 Poke API,它是可选的。你怎么知道的?它在资源列表/分页部分中提到。(调用任何没有资源 ID 或名称的 API 端点将……)

我们需要的最后一个输入是授权。像这样的公共 API 意味着任何人都可以在未经授权的情况下使用它。因此授权方法是 No Auth。

总而言之,以下是我们将用来从 Pokemon 表中获取数据的输入:

2.3)将输入导入 Postman

在 Postman 新建的无标题请求中,输入端点并选择 GET 方法

切换到“授权”选项卡并确保选择“无授权”(请参阅术语部分中的更多授权类型)

点击发送按钮发送 API 请求。当状态代码返回 200 OK 时,表示您已发出正确的 API 请求,并且已返回数据。请参阅状态代码术语部分以了解有关常见状态代码的更多信息。

2.4)高级——路径参数

路径参数定义在3.2.2 节中提到。路径参数通常用于获取单个对象的详细信息。

例如,您想要获取有关特定 Pokemon(如 Pikachu)的详细信息。您可以使用“pikachu”作为路径参数并插入到端点中。

要查看有关皮卡丘的具体详细信息,我们的 API 请求的输入是:

让我们在 Postman 中编辑端点并点击发送

返回的数据是有关皮卡丘的详细信息。因此,使用路径参数,您已检索有关皮卡丘的数据。

2.5)高级——查询参数

API 可以提供一种方法来过滤、排序和限制返回的数据。该方法通常是通过查询参数来实现的。有些文档将查询参数仅称为参数。因此,很容易将查询参数与路径参数混淆。

对于 Poke API,只有几个查询参数。其中一个允许 API 请求限制返回的记录数。它在资源列表/分页部分中描述。

根据描述,您可以添加一个名为“limit”的查询参数和我们想要的记录数,API 将仅返回指定数量的记录。例如,您想获取 Pokemon 表上的前 2 个 pokemon。那么我们的 API 请求的输入将是:

在 Postman 的 Params 选项卡中输入查询参数。Postman 会自动将这些参数输入到 Endpoint 中。点击发送。

如果您不使用查询参数,返回的数据将仅显示 2 个神奇宝贝,而不是 20 个。您已成功限制返回的数据。

下一步该去哪儿?

如果您已按照上述说明操作,那么恭喜您,您知道如何使用 GET 方法发出 API 请求。接下来,您可以练习:

  • POST 方法
  • 术语部分列出的其他类型的授权。

术语

  • Host:调用 API 的服务器地址。可以是 IP 地址,也可以是网络域名。示例 1:https://pokeapi.co/api/v2;示例 2:https://192.168.11.1
  • Resource:API Endpoint 中 Host 后面的部分,用于指向数据表。例如:pokemon
  • Path 参数: API Endpoint 中 Resource 后面的部分,用于指向数据表中的具体对象。例如:pikachu
  • Endpoint:发送 API 请求的完整地址。Endpoint = Host + Resource + Path 参数。例如:https://pokeapi.co/api/v2/pokemon/pikachu
  • 方法:使用 API 进行交互的方式。两种最常见的方法是 GET 和 POST。GET 主要用于提取软件上的数据。POST 主要用于编辑/创建新的软件数据
  • 查询参数:提供一种过滤/排序/限制数据的方法。以键值形式输入查询参数。

授权:某些 API 可能需要登录/访问令牌才能发出 API 请求。这称为授权。授权的一些形式包括:

  • 无需授权:无需授权。适用于 Poke API 等公共 API
  • Bearer:您将获得一串称为 access_token 的字符串来使用 API。发送之前,请在 API 请求中提供此 access_token。
  • 基本:您将获得一个用户名和密码。发送前在 API 请求中提供这些信息。
  • OAuth2:目前市面上最复杂、最安全的授权方式,如遇到此方式,请向官方寻求帮助。

状态代码:一个 3 位数字,用于指示请求结果。最常见的状态代码是:

  • 200:OK — API 请求成功
  • 401:未授权 — 授权中提供的信息有问题 > 请再次检查您的授权
  • 404:未找到 — 找不到指定的数据表(资源)> 再次检查您的端点

原文链接:https://medium.com/refined-and-refactored/how-to-make-basic-api-requests-with-postman-33ce912876ad

#你可能也喜欢这些API文章!