所有WIKI > A字母 > 什么是 API Payload?

什么是 API Payload?

不同方式的交流包括面对面的口头交流、短信或信件中的书面交流,以及通过肢体语言进行的非语言交流。

任何通信通道都涉及消息从发送方传输到接收方。计算机网络中,需要一种将数据从发送方传递到接收方的方法。

本文将探讨通过互联网传输数据的方法,重点关注API中的有效负载。将首先定义开销和有效负载之间的关系,然后探索API中有效负载使用的不同通信格式。

API 中的有效负载是什么?

在API(应用程序编程接口)的上下文中,有效负载指的是在请求中发送或在响应中接收的数据。有效负载是客户端(如web应用程序或移动应用程序)与服务器之间传输的消息的核心内容,包含了执行特定操作或检索特定数据所需的信息。

例如,当使用API向服务器发出HTTP请求时,有效负载通常包含在请求体中。根据API的设计和规范,有效负载通常以结构化的格式进行组织,例如JSON(JavaScript对象表示法)或XML(可扩展标记语言)。

API 中的有效载荷概述

payload api, JSON example

当数据通过互联网传输时,会产生两部分信息:开销和有效负载。开销数据用于标识负载的源或目的地,仅在数据传输过程中使用,一旦到达目的地,开销信息便从视图中删除。

例如,发送消息“Hello”并将其标记为“msg”(消息的缩写)。在这种情况下,“Hello”是有效负载,而“msg”是开销。到达目的地后,唯一可见的数据是“Hello”,而“msg”仅用于内部目的,以识别数据。

API的有效负载可以以多种格式发送或接收,例如JSON或XML。在查询字符串中,负载通常用大括号“{}”来标识。

API 中有效负载的示例

有效负载是从服务器发送或接收的数据块中的基本信息。以下是API中JSON有效负载的示例:

X 的 API:

概述: X (Twitter) API 允许开发人员访问并与 X 的庞大数据集交互,使他们能够构建可以读取、写入和管理 tweet、用户帐户和各种 X 功能的应用程序。

端点: API 为获取用户时间线、发布 tweet、搜索 tweet、检索用户信息等操作提供端点。

有效载荷示例 (POST 请求 tweet):

Endpoint: POST /statuses/update
Payload:
{
"status": "Hello, Twitter! This is a test tweet from my API client. #API #Twitter"
}

谷歌地图 API:

概述: Google Maps API 允许开发人员将 Google Maps 集成到他们的应用程序和网站中,提供显示地图、创建自定义标记、计算方向和地理编码等功能。

端点: API 提供端点来与地图数据、地点和方向等进行交互。

有效负载示例 (GET 请求地理编码):

端点: GET /maps/api/geocode/json

Query Parameters:
{
"address": "1600 Amphitheatre Parkway, Mountain View, CA"
}

虽然格式略有不同,但有效负载和开销数据保持不变。

负载格式

我们将讨论三种类型的有效负载格式:

  • API请求有效负载格式
  • API OK响应有效负载格式
  • 失败的响应负载格式

API 请求有效载荷格式

一个负载 API 请求需要两个参数和一个子元素:

  • interfaceType: interfaceType 标识这是一个 API 请求格式,必须设置为“手动”。
  • methodName: methodName 定义要调用的 API 方法。
  • parameters: parameters 包含被调用方法所需的参数。
{
"name": "John Doe",
"email": "john.doe@example.com",
"age": 30,
"is_active": true,
"interests": ["programming", "reading", "hiking"]
}

API OK 响应有效载荷格式

一个成功的有效负载响应将包含一个参数和一个子元素:

  • responseType: responseType 必须设置为“OK”。
  • data: data 可能包含被调用方法响应所需的零个或多个参数。
{
"user_id": 12345,
"name": "John Doe",
"email": "john.doe@example.com",
"age": 30,
"is_active": true,
"interests": ["programming", "reading", "hiking"],
"created_at": "2023-07-21T12:34:56Z"
}

API失败响应有效载荷格式

失败的有效负载响应将包含一个参数和一个子元素:

  • responseType: responseType 必须设置为 FAILED
  • messages: messages 可能包含一个由零条或多条错误消息组成的数组。
{
"error_code": 404,
"error_message": "User not found",
"error_details": {
"request_id": "123abc",
"timestamp": "2023-07-21T15:45:32Z"
}
}

API 请求有效负载格式取决于 API 的设计和特定操作所需的数据。然而,API 请求有效负载中使用的两种常见数据交换格式是 JSON 和 XML。这两种格式都得到了广泛支持,并提供了一种结构化的方式来表示数据。

JSON (JavaScript Object Notation):

JSON 是一种轻量级的、人类可读的数据交换格式,易于理解和处理。它广泛应用于现代 web 开发和 API。JSON 有效负载由键值对组成,可以表示多种数据类型,如对象、数组、字符串、数字、布尔值和空值。

在假设的 API 中创建用户的 JSON 有效负载示例:

{
"name": "John Doe",
"email": "john.doe@example.com",
"age": 30,
"is_active": true,
"interests": ["programming", "reading", "hiking"]
}

在API中与有效负载通信

在计算机网络中,通信包括发送和接收消息。发送方必须正确处理消息,而接收方则需要具备处理消息所需的所有资源。

在 API 中,有效负载是在消息上下文中使用的,以便将其与开销数据区分开。正确解析请求需要参考开销数据。掌握这些信息后,可以更好地理解如何在计算机网络中通过 API 的有效负载传输消息。