在本页中,我们将分解与 REST API 相关的一些关键概念和术语:路由与端点、请求、响应、架构以及控制器类。每个概念在理解、使用和扩展 WordPress REST API 中都起着至关重要的作用,并且本手册将对每个概念进行更深入的探讨。

路由与端点

在 WordPress REST API 的上下文中,路由是一个可以映射到不同 HTTP 方法的 URI。将单个 HTTP 方法映射到路由的过程称为端点。

例如,如果我们对 URI http://oursite.com/wp-json/ 发出一个 GET 请求,我们将收到一个 JSON 响应,显示有哪些路由可用,以及每个路由内有哪些端点可用。

/wp-json/ 是一个路由,当该路由接收到 GET 请求时,该请求由负责显示 WordPress REST API 索引的端点处理。

相比之下,路由 wp-json/wp/v2/posts 有一个 GET 端点用于返回帖子列表,还有一个 POST 端点用于接受经过身份验证的请求以创建新帖子。

我们将在接下来的章节中学习如何注册自己的路由和端点。

如果您使用的是非美观固定链接,则应将 REST API 路由作为查询字符串参数传递。因此,上面的示例中的路由 http://oursite.com/wp-json/ 将是 http://oursite.com/?rest_route=/。

如果在尝试访问 http://oursite.com/wp-json/ 时遇到 404 错误,请考虑启用美观固定链接,或者尝试使用 rest_route 参数。

请求

REST API 请求在 WordPress 中表示为 WP_REST_Request 类的实例,该类用于存储和检索当前请求的信息。当您向已注册的 API 路由发出 HTTP 请求时,会自动生成一个 WP_REST_Request 对象。

此对象中指定的数据(源自路由 URI 或作为请求一部分发送的 JSON 负载)决定了您将得到什么样的 API 响应。

请求通常通过 HTTP 远程提交,但也可以在 WordPress 插件或主题代码内部的 PHP 中进行。使用此类有很多有趣的功能,手册的其他部分对此有详细说明。

响应

响应是您从 API 获取的数据。WP_REST_Response 类提供了一种与端点返回的响应数据进行交互的方式。响应返回请求的数据,或者在请求执行过程中出错时也可用于返回错误。

架构

每个端点都需要特定结构的输入数据,并使用定义好的可预测结构返回数据。这些数据结构在 API 架构中定义。

架构对 API 数据进行结构化,并提供 API 可以返回的所有属性以及可以接受的输入参数的完整列表。

定义良好的架构还为 API 提供了一层安全性,因为它使我们能够验证和清理发往 API 的请求。架构部分进一步探讨了这一重要主题。

控制器类

控制器类统一并协调 REST API 响应周期内的所有这些各个移动部件。有了控制器类,您可以管理路由和端点的注册、处理请求、利用架构并生成 API 响应。

单个类通常包含给定路由的所有逻辑,而给定路由通常代表您 WordPress 站点中的特定类型数据对象(如自定义文章类型或分类法)。