Postman 是一个强大的工具,用于发送 URL 请求并查看返回的响应数据。虽然您可以在任何浏览器中执行公共 GET 请求,但 Postman 提供以下功能:

  • 个 POST、PUT 和 DELETE 请求(以及更多)

  • 传递标头

  • 传递正文数据

  • 认证

  • 将响应视为不同类型的数据

  • 保存您的回复以备后用

发送您的第一个请求

首先,确保从此处下载并安装 Postman 应用程序。我们将使用桌面版本来完成提出请求并查看结果。

安装应用程序后,您应该会看到如下内容:

[Postman 无配置截图](https://res.cloudinary.com/practicaldev/image/fetch/s--fsGNT8Vi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https:// /dev-to-uploads.s3.amazonaws.com/uploads/articles/08hnlr15f3za2u117rqg.png)

要开始提出请求,只需单击主列中概览选项卡旁边的 + 图标。

[Postman 的屏幕截图,带有新的请求选项卡](https://res.cloudinary.com/practicaldev/image/fetch/s--YwmU1cyK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https ://dev-to-uploads.s3.amazonaws.com/uploads/articles/t05y8jwabff02ztp6wji.png)

在新选项卡的顶部区域,您有几个选项:

  • 设置请求类型(默认为GET)

  • 输入你的网址

  • 发送请求

  • 添加 url 参数、授权、标头和正文数据(我们不会在本文中介绍其他选项)

最快的入门方法是测试公共 GET 请求。无论您是在本地工作还是使用实时站点,都可以输入 WordPress 站点的 url 并附加/wp-json/wp/v2/posts

With permalinks: **http://index.local/wp-json/wp/v2/posts**
Without permalinks: **http://index.local/?rest_route=/wp/v2/posts**

进入全屏模式 退出全屏模式

输入网址后,点击“发送”,您将在底部看到响应:

[Postman 的屏幕截图,带有 GET 请求和生成的 JSON 值](https://res.cloudinary.com/practicaldev/image/fetch/s---oXyWWca--/c_limit%2Cf_auto%2Cfl_progressive% 2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/28oo3gvq3lgb12bg2fi0.png)

Postman 在这里做了一些对测试有用的事情:

  • 显示正文响应并将响应自动格式化为 JSON

  • 提供其他视图,如 raw(这在使用 print_r 调试时非常有用)

  • 可以选择查看请求中的任何 cookie,以及发回的标头

  • 提供状态、响应时间和大小

发送POST请求

要从 Postman 向 WordPress 发送 POST(或 PUT 和 DELETE 请求),我们需要对我们的请求进行身份验证。这是 WordPress 的要求,因为这些类型的请求需要在登录时发生。

有几种不同的方法可以验证从 Postman 到 WordPress 的请求。

传递随机数和 cookie

如果您正在积极使用 WordPress 仪表板并需要在 Postman 中快速测试一些 API 方法,您实际上可以在 Postman 中传递浏览器的 nonce 和 cookie 值。

这要求您执行发送 API 请求的操作,然后您将从浏览器的检查器工具中读取该请求。

从任何现代浏览器:

1.打开浏览器的检查器工具

  1. 单击网络选项卡

  2. 过滤以仅显示 Fetch 或 XHR 请求

  3. 刷新页面(或执行会导致 API 请求的操作)

  4. 在检查器的列表中单击请求

  5. 单击标题选项卡

  6. 查找请求头

  7. 复制 X-WP-Nonce 标头值

然后在您的邮递员请求选项卡中:

1.单击顶部的标题选项卡,在网址栏下方

2.滚动到列表底部并双击关键字段使其可编辑

  1. 输入 X-WP-Nonce

  2. 双击关键字段旁边的值字段

  3. 输入你的 nonce 值

6.输入另一个标题并将其命名为Cookie

现在回到浏览器的检查器工具

  1. 找到你的 cookie 列表

  2. Safari:点击顶部的存储,然后点击侧边栏中的 Cookie

  3. Chrome:点击顶部的应用程序,然后打开侧边栏中的 Cookies 下拉菜单并选择您所在的站点

  4. Firefox:点击顶部的存储,然后打开侧边栏中的 Cookies 下拉菜单并选择您所在的站点

2.找到以wordpress\logged\in开头的cookie

  1. 复制完整的 cookie 名称并将其粘贴到 Postman 中 Cookie 标头的值中

  2. 在末尾添加一个 u003d 符号

5.从浏览器复制完整的cookie值,在u003d号后输入if

完成后,您将看到两个新的标题,如下所示:

  • X-WP-Nonce | ce243bbe44

  • 饼干 | wordpress_logged_in_9ab7178f511b0215ddb4f12594ea7d1bu003ddavid%7C1629648436%7CKRHVjvhnwKGvUxs6lUQ6PyaPiAgi6TfwjUGwalhCQm2%7C5948f6d8ebad2bbaab3984c1876020217d6a6e9db6b90dcdda9e10c0967d6182

如您所见,这是很多步骤。但是,如果您在无法添加额外身份验证并且需要测试 POST 端点的系统中工作,那么它可能很有价值。

使用应用程序密码的基本身份验证

如果您可以选择,使用基本身份验证是对请求进行身份验证的一种更简单的方法。它还允许您执行更强大的测试,因为您可以尝试以具有不同角色的不同用户的身份发出请求,以确保您的 API 是安全的。

WordPress 现在为用户提供了一个应用程序密码生成器,使基本身份验证易于设置:

1.在WordPress中编辑您要认证的用户

2.向下滚动到应用程序密码

3.在“新申请密码名称”中输入Postman

4.点击“添加新应用密码”

  1. 将显示密码,如下所示:jMOs od2z uGji E4Pu oYMV v1HZ

  2. 确保在执行任何其他操作之前复制密码。你只能看到一次(如果你搞砸了,撤销你刚刚设置的密码并重新开始)

在您的邮递员请求屏幕中:

1.点击url字段下的Authorization

  1. 从类型下拉列表中选择基本身份验证

  2. 输入您的 WordPress 用户名

4.输入你复制的密码

[Postman 请求选项卡顶部区域的屏幕截图](https://res.cloudinary.com/practicaldev/image/fetch/s--MOlMDiyH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https ://dev-to-uploads.s3.amazonaws.com/uploads/articles/b45se0ccx4a4c7xgvrp5.png)

您现在可以处理 POST、PUT 和 DELETE 请求了!要对此进行测试:

1.将url旁边的请求下拉菜单更改为POST

  1. 输入您的 URL 加上/wp-json/wp/v2/posts/<id>,其中<id>是帖子 ID

  2. 选择 url 字段下的 Body 选项卡

4.选择原始单选选项

  1. 将单选选项右侧的文本下拉菜单更改为 JSON

6.输入:{ "title": "New Title" }

  1. 点击发送

如果您按照以下步骤操作,您应该会看到如下内容:

[Postman request tab with body settings selected](https://res.cloudinary.com/practicaldev/image/fetch/s--TDvsFPye--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https:// /dev-to-uploads.s3.amazonaws.com/uploads/articles/j3ayn1jpsts642sl785x.png)

为多个请求添加身份验证

为了使身份验证更加容易,您应该为您的请求创建一个集合,并在全局范围内设置身份验证。这样您就可以启动新请求,而无需每次都复制和粘贴您的用户名和密码。去做这个:

  1. 确保 Postman 中的侧边栏已打开并设置为收藏:

[邮递员左侧边栏收藏](https://res.cloudinary.com/practicaldev/image/fetch/s--9zgCnrih--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https:// dev-to-uploads.s3.amazonaws.com/uploads/articles/r5po2fuu7nfwzf62b57i.png)

1.点击中心的创建收藏按钮

2.您的收藏将立即创建并显示身份验证设置:

[Postman 新合集](https://res.cloudinary.com/practicaldev/image/fetch/s--erhiOtUc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev -to-uploads.s3.amazonaws.com/uploads/articles/coruxjcyl6d2wudsd0ra.png)

  1. 选择 Basic Auth 并执行与验证单个请求相同的步骤:

[放大 Postman 中基本身份验证设置的屏幕截图](https://res.cloudinary.com/practicaldev/image/fetch/s--0560ISvO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https ://dev-to-uploads.s3.amazonaws.com/uploads/articles/d1xm20ynt91ifdmb949q.png)

1.返回您的请求选项卡并将授权设置恢复为“从父级继承身份验证”

  1. 最后,保存您的请求并将其添加到新集合中

总结

您现在已准备好在 Postman 中测试您的 WordPress REST 端点!通过这些步骤,当您无权修改用户或使用基本身份验证为不同的 WordPress 安装创建集合时,您可以快速测试一次性 API。

作者

.ltag__user__id__628430.follow-action-button { background-color: #0!important;颜色:#ffffff!重要;边框颜色:#0!重要; }[

大卫伍尔夫图像

](/大卫伍尔夫)

大卫·伍尔夫关注

设计师和开发商。在推特上关注我:https://twitter.com/wwuulf

Logo

更多推荐