刚接触 REST API?了解我们文档中使用的术语,快速上手。
控制器(Controller)
模型 - 视图 - 控制器(Model-View-Controller)是软件开发中的标准模式。如果您还不熟悉它,建议阅读一些资料以快速掌握。
在 WP-API 中,我们采用了控制器的概念,为表示资源端点的类建立标准模式。所有资源端点都扩展 WP_REST_Controller,以确保它们实现了通用方法。
HEAD、GET、POST、PUT 和 DELETE 请求
这些"HTTP 动词”代表了 HTTP 客户端可能对资源执行的操作类型。例如,GET请求用于获取文章数据,而DELETE请求用于删除文章。它们统称为"HTTP 动词”,是因为它们在网络上已标准化。
如果您熟悉 WordPress 函数,那么GET请求相当于wp_remote_get(),而POST请求则等同于wp_remote_post()。
HTTP 客户端
"HTTP 客户端”指的是您用来与 WP-API 交互的工具。您可以在浏览器中使用Postman(Chrome)或REST Easy(Firefox)来测试请求,或者使用httpie在命令行中测试请求。
WordPress 本身在WP_HTTP类及相关函数(例如wp_remote_get())中提供了 HTTP 客户端。这可用于从一个 WordPress 站点访问另一个站点。
资源(Resource)
“资源”是 WordPress 中的一个独立实体。您可能已经知道这些资源包括文章、页面、评论、用户、分类法等。WP-API 允许 HTTP 客户端对资源执行 CRUD 操作(CRUD 代表创建、读取、更新和删除)。
实际上,您通常这样与 WP-API 资源交互:
GET /wp-json/wp/v2/posts获取文章集合。这大致等同于使用WP_Query。GET /wp-json/wp/v2/posts/123获取 ID 为 123 的单篇文章。这大致等同于使用get_post()。POST /wp-json/wp/v2/posts创建新文章。这大致等同于使用wp_insert_post()。DELETE /wp-json/wp/v2/posts/123删除 ID 为 123 的文章。这大致等同于wp_delete_post()。
路由 / 端点
端点是 API 提供的功能。这可以包括检索 API 索引、更新文章或删除评论等。端点执行特定功能,接收一定数量的参数并向客户端返回数据。
路由是您用于访问端点的“名称”,在 URL 中使用。一个路由可以关联多个端点,具体使用哪一个取决于 HTTP 动词。
例如,对于 URL `http://example.com/wp-json/wp/v2/posts/123`:
- “路由”是
wp/v2/posts/123– 路由不包含wp-json,因为wp-json是 API 本身的基础路径。 - 该路由有 3 个端点:
GET触发get_item方法,将文章数据返回给客户端。PUT触发update_item方法,接收要更新的数据,并返回更新后的文章数据。DELETE触发delete_item方法,将已删除的文章数据返回给客户端。
注意:在不使用友好永久链接的站点上,路由会作为 rest_route参数添加到 URL 中。对于上述示例,完整 URL 将是 `http://example.com/?rest_route=wp/v2/posts/123`
架构(Schema)
“架构”是对 WP-API 响应数据格式的表示。例如,文章架构表明,获取文章的请求将返回 id、title、content、author和其他字段。我们的架构还指示每个字段的类型,提供人类可读的描述,并显示该字段将在哪些上下文中返回。