在我们深入了解 WordPress REST API 是什么之前,让我们先熟悉一下 WordPress 本身,以方便新手。
WordPress 于 2003 年推出,旨在轻松创建和发布网页,特别是对于不太熟悉 Web 开发或一般编程的人来说。多年来,WordPress 已经从一个博客平台发展成为一个成熟的 Web 开发工具,能够构建功能丰富的 Web 应用程序和电子商务商店。
WordPress 在 2015 年 12 月引入了 WordPress REST API,进一步扩展了其服务。这一强大的功能通过允许开发人员将前端与数据管理分开,为使用 WordPress 的全新方式打开了大门。 REST API 还允许他们在其他 Web 和移动项目中利用 WordPress 代码库。
如果您有兴趣使用 WordPress REST API,可以参考详细的文档。然而,不熟悉 REST API 基本概念的人可能需要了解它是什么以及它是如何工作的!
在本指南中,我将介绍 REST API 的基本概念和剖析,帮助您启动并运行 WordPress REST API。
这是我要介绍的所有内容
目录什么是 API?
API 示例
REST API
为什么使用 REST API?WordPress REST API 剖析
路线和终点
要求
回应
控制器类
架构 (JSON)
如何使用 WordPress REST API?
启用和更新 REST API
验证
发布数据
获取数据
什么是 API
应用程序编程接口(API)是一组用于两个或多个应用程序之间通信的指令。
API 允许多个应用程序相互通信或与集中式后端通信,以执行还可能涉及数据库访问的特定任务。
使用 API 的应用程序只允许访问端点(稍后解释)以发布和读取数据。不允许进行任何逻辑更改,也不允许访问API的后端代码。
简而言之,这是一种允许第三方应用程序访问您的程序和数据库的安全方法。
API 有多种类型,例如:
- SOAP(简单对象访问协议)
- XML-RPC
- JSON-RPC
- 休息
在本文中,我仅讨论 REST API。在解释什么是 REST API 之前,让我们先看一下 API 派上用场的一些重要用例。
- Google API(允许用户使用 Gmail 帐户登录)
- Google MAPS(允许您将 MAPS 功能集成到您的网络或移动应用程序中)
- Facebook API(允许您添加“使用 Facebook 登录”功能并通过应用程序发布。)
- Twitter API(使 Twitter 共享变得简单)
REST API
REST 是表述性状态传输 (Representational State Transfer) 的缩写,是一种 API,它不是协议,而是一组架构原则。
请允许我用简单的英语解释一下。
REST API 允许用户使用易于解析和操作的文本数据。该文本数据通过超文本传输协议 (HTTP) 传递,并使用 JSON 格式,使用户能够将此数据用作 JavaScript 对象。
希望这足够简单,让您能够理解。
为什么使用 REST API
REST API 已成为行业标准,并被 Google、Facebook 和 Amazon 等科技巨头采用。由于其结构和快速的数据交换,开发人员还发现它更容易使用。
为什么 REST API 如此流行?嗯,这是因为他们使用 JSON 进行数据格式化。 JSON 以键/值对的形式表示数据,这样更不易混淆且更可预测。与 XML 格式相比,使用 JSON 的 API 数据交换速度更快,并且代码更简单。
以下是使用 REST API 的一些优点:
- JSON(通常与 REST API 一起使用)由于结构更简单,解析速度更快。
- 他们更容易合作。
- 它们提供更好的浏览器支持,并且非常适合缓存特别是静态信息。
- REST API 消耗更少的带宽,并且更容易与现有的 Web 项目集成。
雅虎、eBay、亚马逊和谷歌等巨头都采用了它。
现在您已经基本了解了 API 是什么以及使用 REST API 的优势是什么,接下来让我们深入探讨 WordPress REST API 的剖析。
WordPress REST API 剖析
REST API 旨在将服务器端和客户端分开,并且更易于管理、更新和部署。
想象一下,如果服务器端和客户端代码都编写在一个文件中,并且您需要在几个月后进行更改?好吧,祝你首先理解你的代码好运,更不用说经历更新文件的麻烦了。
任何 REST API 的主要目标都是执行 CRUD(创建、读取、更新和删除)任务。
通常,客户端会通过以下请求来请求 API:
GET :该命令从服务器获取数据。例如;检索客户的信息。
POST :此命令允许您将数据添加到服务器。例如;注册客户。
PUT :此命令允许您更新现有数据。例如;更新访客的密码。
DELETE :顾名思义,此命令允许您从数据库中删除数据。
路线和终点
路由和端点是 WordPress REST API 的两个基本元素。端点只是一个 URL,通过它与服务器建立连接,而路由是可以访问以执行特定操作的单个微服务。
这是一个例子:
https://wordpress.org/wp-json/
在上面的 URL 中,/wp-json/ 是获取 WordPress、命名空间和路由相关信息的路由。
要求
您使用 WordPress REST API 执行的任何任务都是请求的形式。此请求由名为 WP_REST_Request 的默认类处理。此类存储您使用 WP REST API 发出的所有请求的信息。
通常,请求是向某个端点发出的,并且还可以包含参数。一个这样的例子是获取特定类别的帖子数据。
回应
响应包含您在向 API 发出请求时请求的所需信息。 WordPress REST API 响应包含易于使用的 JSON 格式的数据。如果出现任何问题或验证失败,您会在同一响应中收到错误。
查看响应的最简单方法是使用 Chrome 开发人员工具。只需右键单击窗口并单击“检查”即可。这应该会打开一个新窗口,您可以在其中转到“控制台”以获取控制台消息,也可以转到“网络”选项卡以获取 API 请求的详细视图。
正如您所看到的,它包含有用的信息,例如请求的 URL、请求方法、状态代码和响应标头。
控制器类
控制器类进一步扩展了 WordPress REST API 的功能。它允许您构建自定义端点和路由,并管理负责运行 API 的所有元素。
架构 (JSON)
架构允许您定义端点可以使用的数据结构以及 REST API 可以接受的参数。
如何使用 WordPress REST API 在 WordPress 中启用 REST API
为了使用 WP REST API,请确保已通过运行以下命令安装它(您可以在 SSH 终端内运行该命令):
1 WP —信息
运行上述命令后出现以下错误,这意味着我需要在我的服务器上安装 wp-cli 。
在 WordPress 上安装 REST API 非常简单。您只需运行以下命令:
1 次卷曲 -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar _ _
现在更改文件的权限以使其可执行:
12修改 + x wp – cli 。 Phar sudo mv wp – cli 。法尔 / usr / local / bin / wp
现在您可以毫无问题地运行 WP-CLI 命令。
更新 WordPress 中的 REST API
如果您需要更新 REST API,只需登录 SSH 终端并运行以下命令即可。
1 wp cli更新
此命令将使用最新、稳定版本的 WP REST API 更新 WordPress 中的 REST API。
验证
使用 WordPress REST API 的基本身份验证很容易设置。在这种类型的身份验证中,用户请求需要验证的 URL。用户发送到此请求的凭据以 Base64 字符串进行编码。然而,这并不被认为是最安全的身份验证方法,因为 base64 字符串很容易被解码。
为了使用这种类型的身份验证,请从 Github 下载基本身份验证插件,并使用“插件”选项卡将其上传到您的 WordPress 网站。
其他两种类型的身份验证是 Cookie 身份验证(由在同一站点上运行的插件和主题使用)和 OAuth 身份验证(用于外部客户端)。
发布数据
在 WordPress 中使用 REST API 的主要优点是能够将 WordPress 连接到任何其他应用程序。
wp_remote_post 函数可用于发布数据。该函数接受两个参数:端点或您希望使用的 URL 以及您希望与其一起发送的参数。
例如,如果您需要使用 WordPress API 添加新帖子,您可以通过以下方法来完成。
123456 $参数[ '正文' ] = 大批( '标题' = > 'WP REST API' , '地位' = > '草稿' , '内容' = > '内容' ) ; $响应 = wp_remote_post ( 'http://用户名:[电子邮件受保护]/wp-json/wp/v2/posts/' , $参数 ) ;
在上面的代码中,我请求我的 WordPress 网站使用 WordPress REST API 添加新的博客文章。
获取数据
wp_remote_post 函数也可用于从 WordPress 站点获取数据。
例如,如果您需要按特定类别获取帖子,只需使用以下代码行进行请求:
1美元回复 = wp_remote_get ( 'http://用户名:[电子邮件受保护]/wp-json/wp/v2/posts/?categories=3' ) ;
在上面的代码中,我仅使用 WordPress REST API 请求特定类别的帖子。但是,如果我尝试在未通过设置的身份验证标准的情况下访问受限资源,这可能会返回错误。
最后的想法
WordPress REST API 是一个功能强大的工具,可用于构建新插件、升级现有 Web 项目以及自动化任务。使用 REST API 是将 Web 项目与 WordPress 连接起来最快、最好的方法。
在本教程中,我解释了 REST API 是什么、它的工作原理以及 WordPress REST API 的工作原理。我建议您测试一下并尝试一下,以了解这个惊人功能的真正威力。
另外,不要忘记在下面的评论中分享您的经验。
RSS