Logo

过滤响应

学习如何过滤 REST Countries API 的响应数据

概念

过滤响应

学习如何过滤 REST Countries API 的响应数据

REST Countries API 允许我们指定向 API 端点发起请求时的输出字段。这在处理大型数据集时尤其有用,因为它可以帮助我们缩小结果范围,专注于最相关的信息。例如,当我们查询 REST Countries API 数据库时,如果只需要查看几个特定字段,就可以明确指定希望包含在响应中的字段。这有助于简化工作流程,减少需要处理的数据量,从而更轻松地找到所需信息。

我们可以通过使用 fields 参数来指定 REST Countries API 请求所需的字段。可以将此查询参数附加到之前讨论过的端点 URL 上,以过滤响应内容。

以下是指定所需字段的一些示例。在这些示例中,我们将指定字段并观察对响应的影响。

仅筛选单个字段

在此示例中,我们只指定返回一个字段。 我们将使用 All 端点的 URL,该端点返回所有可用国家的信息。该端点的 URL 为 https://restcountries.com/v3/all。我们向此 URL 添加 fields=name 作为查询参数,以便在响应中仅获取 name 字段。

点击“运行”按钮以获取指定字段。

1// 导入库 2import fetch from 'node-fetch'; 3 4// 端点 URL 5const endpointUrl = new URL('https://restcountries.com/v3/all?fields=name'); 6 7// 请求选项 8const options = { 9 method: 'GET' 10}; 11 12// 执行 API 调用的函数 13async function searchByCurrency() { 14 try { 15 const response = await fetch(endpointUrl, options); 16 printResponse(response); 17 } catch (error) { 18 printError(error); 19 } 20} 21 22// 调用函数 23searchByCurrency();

在上述代码中:

  • 第 2 行: 导入所需的库。
  • 第 5 行: 将 All 端点的基础 URL 赋值给 endpointUrl 变量,并设置 fields 为 name。
  • 第 8–10 行: 设置请求参数。
  • 第 13–20 行: 创建一个执行 API 调用的函数。该函数会尝试使用指定的 URL 获取所需数据并打印响应结果;若发生错误,则打印错误信息。
  • 第 23 行: 调用执行 API 调用的函数。

API 调用将返回一个仅包含 name 字段的 JSON 响应。

筛选多个字段

在此示例中,我们将了解如何过滤多个响应字段。 与之前的请求类似,我们仍使用 All 端点的 URL,该端点返回所有国家的列表。我们将向 URL 添加 fields 查询参数,并将其设置为用逗号分隔的所需字段。

点击“运行”按钮以获取指定字段。

1// 导入库 2import fetch from 'node-fetch'; 3 4// 端点 URL 5const endpointUrl = new URL('https://restcountries.com/v3/all?fields=name,currencies'); 6 7// 请求选项 8const options = { 9 method: 'GET' 10}; 11 12// 执行 API 调用的函数 13async function searchByCurrency() { 14 try { 15 const response = await fetch(endpointUrl, options); 16 printResponse(response); 17 } catch (error) { 18 printError(error); 19 } 20} 21 22// 调用函数 23searchByCurrency();

在上述代码中:

  • 第 2 行: 导入所需的库。
  • 第 5 行: 将 All 端点的基础 URL 赋值给 endpointUrl 变量,并附加 fields=name,currencies,用于过滤 name 和 currencies 字段。
  • 第 8–10 行: 设置请求参数。
  • 第 13–20 行: 创建一个执行 API 调用的函数。该函数会尝试使用指定的 URL 获取所需数据并打印响应结果;若发生错误,则打印错误信息。
  • 第 23 行: 调用执行 API 调用的函数。

API 调用将返回一个仅包含 name 和 currencies 字段的 JSON 响应。

搜索功能

国家信息 API 集成与 React