构建请求(Building)
你可以在 Postman 中发送请求以连接到你正在使用的 API。你的请求可以检索、添加、删除和更新数据。无论你是构建或测试自己的 API,还是与第三方 API 集成,你都可以在 Postman 中发送请求。你的请求可以发送参数、授权详细信息和你需要的任何正文数据。
例如,如果你正在为商店构建客户端应用程序(例如移动或网络应用程序),你可能会发送一个请求来检索可用产品列表,另一个请求来创建新订单(包括所选产品的详细信息,以及让客户登录其帐户的不同请求。
当你发送请求时,Postman 会以一种允许你检查、可视化并在必要时进行故障排除的方式显示从 API 服务器收到的响应。
如果你以前从未发送过请求,请在继续之前检查 发送你的第一个请求。
创建请求
你的请求可以包含多个详细信息,确定 Postman 将发送到你正在使用的 API 的数据。输入一个 URL 并选择一种方法,然后可以选择指定各种其他详细信息。
你可以使用New > HTTP或选择+打开新选项卡,从工作空间创建新请求。
选择保存以创建你的请求。你可以为你的请求命名和描述,然后选择或创建一个集合来保存它。
打开新选项卡后,你可以指定请求所需的详细信息。
添加请求详细信息
如果你有要运行的请求,则需要知道 URL、方法和其他可选值,例如身份验证和参数。
要测试在 Postman 中发送请求,你可以将 URL 设置为 Postman Echo 示例 API 端点https://postman-echo.com/get
并将方法设置为GET
,然后选择Send。
选择协议
你可以更改新请求的协议。在边栏中选择新建,然后选择一个请求协议,或选择**+**打开一个新选项卡。选择请求名称左侧的协议下拉菜单,然后选择不同的请求协议。
选择保存后,你无法更改请求协议。
设置请求 URL
你在 Postman 中发送的每个请求都需要一个表示你正在使用的 API 端点的 URL。你可以使用 API 执行的每个操作通常都与一个端点相关联。API 中的每个端点都可以在特定的 URL 上使用。这是你输入 Postman 以访问 API 的内容。
- 如果你要构建 API,URL 通常是基本位置加上路径。例如,在请求中
https://postman-echo.com/get
,https://postman-echo.com
是基本 URL,/get
是端点路径。 - 如果你使用的是第三方 API,你的 API 提供商将提供你需要的 URL,例如在他们的开发人员文档中。
当你开始在 URL 输入字段中键入时,Postman 将显示一个下拉列表,其中包含你可以用来自动完成的以前使用过的位置。
http://
如果你不指定协议,Postman 将自动添加到你的 URL 的开头。
你可以选择在 URL 字段中输入查询参数,也可以 在“参数”选项卡中输入它们 。如果你的请求使用路径参数, 你可以将它们直接输入到 URL 字段中 。
你可以在请求中使用 下一代 URL 编码。
选择请求方法
默认情况下,Postman 将选择GET
新请求的方法。GET
方法通常用于从 API 检索数据。你可以使用多种其他方法将数据发送到你的 API,包括以下最常见的选项:
POST
— 添加新数据PUT
— 替换现有数据PATCH
— 更新一些现有的数据字段DELETE
— 删除现有数据
例如,如果你正在使用用于待办事项列表应用程序的 API,你可能会使用一种GET
方法来检索当前任务列表、一种POST
方法来创建新任务以及一种PUT
或PATCH
方法来编辑现有任务。
Postman 默认支持一些额外的请求方法,你可以使用自定义方法。选择方法下拉列表,编辑方法名称文本,然后保存新方法。要删除方法,请将鼠标悬停在列表中的方法上方,然后选择删除图标 。
要测试
https://postman-echo.com/get
端点,请GET
选择方法并选择发送。
通过接受不同的方法,同一位置(有时称为“路线”)可以提供多个端点。例如,API 可能有一个POST
/customer
用于添加新客户的端点和一个GET
/customer
用于检索现有客户的端点。
- 如果你的请求不需要参数或身份验证,你可以选择发送以获取响应。
- 否则,指定你的 参数 和你需要发送到 API 的任何 正文数据。
- 如果你不需要随请求发送数据,请设置任何必需的 身份验证 和 header 。
发送参数
你可以使用 URL 字段和“参数”选项卡随请求一起发送路径和查询参数。
- 查询参数附加到请求 URL 的末尾,跟随
?
并以键值对的形式列出,使用&
以下语法分隔:?id=1&type=new
- 路径参数构成请求 URL 的一部分,并使用前面的占位符引用,
:
如以下示例所示:/customer/:id
要发送查询参数,请将其直接添加到 URL 或打开Params并输入名称和值。当你在 URL 或Params字段中输入查询参数时,这些值将在 Postman 中使用的任何地方更新。
参数不会自动进行 URL 编码。右键单击所选文本,然后选择EncodeURIComponent以手动编码参数值。
要发送路径参数,请在 URL 字段中输入参数名称,在冒号之后,例如:id
。当你输入路径参数时,Postman 会将其填充到“参数”选项卡中,你也可以在其中进行编辑。
你可以为你的参数添加描述,它们将显示给共享请求(例如在你的工作空间中)或查看你的 API 文档的任何人。
如果你更喜欢以纯文本形式输入参数而不是使用请求生成器,则可以使用批量编辑选项。
如果你的请求不需要正文数据、身份验证或 header,请选择发送。否则,设置你的 body 、 auth 和 headers 。
发送正文数据
每当你需要添加或更新结构化数据时,你都需要随请求发送正文数据。例如,如果你要发送将新客户添加到数据库的请求,你可能会在 JSON 中包含客户详细信息。通常,你会将正文数据与PUT
、POST
和PATCH
请求一起使用。
Postman 中的 Body 选项卡允许你指定需要随请求一起发送的数据。你可以发送各种不同类型的正文数据以适合你的 API。
如果你要发送正文数据,请确保选择了正确的 header 以指示你的 API 正确处理接收到的数据可能需要的内容类型。
- 对于表单数据和 urlencoded 主体类型,Postman 将自动附加正确的
Content-Type
header。- 如果你对正文数据使用原始模式,Postman 将根据你选择的类型(例如文本或 json)设置标题。
- 如果你手动选择
Content-Type
header,则该值将优先于 Postman 设置的值。- Postman 没有为二进制正文类型设置任何 header 类型。
默认情况下,Postman 将选择“无”——如果你不需要随请求发送正文,请将其选中。
选择请求正文所需的数据类型—— 表单数据 、 URL 编码 、 原始 、 二进制 或 GraphQL 。
表单数据
网站表单通常将数据作为multipart/form-data
. form-data
你可以使用 Body选项卡在 Postman 中复制它。表单数据允许你发送键值对,并指定内容类型。
你可以使用表单数据附加文件。当你重复发送相同文件的 API 调用时,Postman 将保留你的文件路径以供以后使用。这也有助于你运行包含需要文件上传的请求的集合。不支持上传多个文件,每个文件都有自己的内容类型。
URL 编码
URL 编码数据使用与 URL 参数相同的编码。如果你的 API 需要 url 编码数据,请x-www-form-urlencoded
在请求的正文选项卡中选择。输入你的键值对以随请求一起发送,Postman 将在发送前对它们进行编码。
有时会混淆表单数据和 url 编码。如果你不确定需要哪一个,请咨询你的 API 提供商。
原始数据
你可以使用原始正文数据发送任何你可以输入的文本。使用原始选项卡和类型下拉列表来指示你的数据格式(文本、JavaScript、JSON、HTML或XML),Postman 将启用语法突出显示并将相关 header 附加到你的请求中。
如果你需要覆盖 Postman 自动发送的内容类型 header,你可以手动设置。
你可以在正文数据中使用 变量,Postman 将在发送你的请求时填充它们的当前值。
对于 JSON 原始 body 数据,可以添加注释,在发送请求的时候会被剥离掉。以 分隔的单行注释//
和以 分隔的多行注释/* */
将在请求中删除。
要美化你的 XML 或 JSON,请在编辑器中选择文本,然后选择⌘+Option+B或Ctrl+Alt+B。
二进制数据
你可以使用二进制数据来发送无法在 Postman 编辑器中使用请求正文手动输入的信息,例如图像、音频和视频文件(你也可以发送文本文件)。
图形 QL
你可以通过选择请求正文中的**GraphQL选项卡,将 GraphQL 查询与你的 Postman 请求一起发送。在查询区域中输入你的代码,并在GraphQL 变量**部分中输入任何变量。
查看 使用 GraphQL 以获取有关 GraphQL 的更多信息,包括如何启用由 Postman API 模式提供支持的自动完成功能。
验证请求
某些 API 需要你可以在 Postman 中发送的身份验证详细信息。认证涉及确认发送请求的客户端的身份,授权涉及确认客户端具有执行端点操作的权限。打开授权选项卡以配置你的访问详细信息。
Postman 会自动将你的身份验证详细信息包含在请求的相关部分中,例如在Headers中。
有关在 Postman 请求中实现不同类型身份验证的更多详细信息,请查看 授权请求 。
设置你的身份验证和其他请求详细信息后,选择发送以运行你的请求。
某些 API 要求你随请求一起发送特定 header,通常是为了提供有关你正在执行的操作的更多元数据。你可以在标题选项卡中设置这些。输入你需要的任何键值对,Postman 会将它们与你的请求一起发送。当你输入文本时,Postman 会提示你使用可用于自动完成设置的常用选项,例如Content-Type
.
你可以将常用的标题一起保存在标题预设中。在Headers选项卡中,选择Presets,然后选择Manage Presets。通过提供名称并输入键加值来添加每个预设。选择添加,你的预设将出现在预设下拉列表中。选择预设将自动填充请求 header 中的字段。
Postman 会根据你的请求选择和设置自动将某些 header 添加到你的请求中。选择标题选项卡顶部的隐藏,以获取有关 Postman 将随你的请求发送的内容的信息。
将鼠标悬停在标题上以获取有关它的详细信息。Postman 将指出添加 header 的原因。如果需要,详细信息将指示如何停用或覆盖 header 值。
停用或覆盖推荐的 header 可能会使你的请求出现意外行为。
如果你需要更改标题,你可以在 Postman 的相关部分进行更改,例如Authorization选项卡、请求Body、请求域的Cookies 、 Settings,在某些情况下直接在Headers选项卡本身中进行。
如果你需要转到应用程序的不同部分,Postman 会在右侧显示一个链接。
如果已根据你的身份验证设置添加 header, 请选择“授权”选项卡 进行更改。
要更改 cookie header,请更改你要向其发送请求的域的 cookie 设置。
要直接在 Headers中停用自动生成的 header,请清除其复选框。要覆盖自动生成的 header 值,请取消选中自动生成的条目并为 header 添加一个单独的条目,在Key 字段中列出其名称并在**Value**字段中指定你的值。
如果同一个 header 有多个条目,Postman 将指示将覆盖哪一个,优先考虑你直接在 header 中明确添加的 header,或者通过你在请求的其他部分(例如Authorization )中所做的选择间接添加的 header。
对于Content-Length
和Content-Type
headers,Postman 将在你发送请求时根据Body选项卡中的数据自动计算值。但是,你可以覆盖这两个值。
设置 header 和其他请求详细信息后,你可以选择“发送”以运行你的请求。
使用 cookie
你可以从 Postman 为你的域管理 Cookie。选择Cookie(在发送下)。有关详细信息,请参阅 管理 cookie 。
选择自定义设置
你可以使用请求设置选项卡为 Postman 请求配置各种设置。这些允许你将非标准逻辑应用于你的请求。
编码你的请求 URL
Postman 解析并编码你的请求 URL,以最大限度地提高 API 调用的成功率。Postman 对你的 URL 中的字符进行编码,并将它们映射到你的 API 最有可能接受的表示形式。Postman URL 处理器优化了你的请求被广泛使用的服务器实现有效处理的机会。
处理器将根据字符在 URL 中出现的位置对字符进行编码:
网址组件 | 要编码的字符 |
---|---|
小路 | " < > ` # ? { } SPACE |
询问 | " # & ' < = > SPACE |
用户信息 | " < > ` # ? { } / : ; = @ [ \ ] ^ |
处理器在 Postman 中默认打开,但如果你使用的是不寻常的服务器实现,则可以关闭编码。要在你的请求中打开或关闭此设置,请选择“设置”>“自动编码 URL”。
你可以通过突出显示文本并单击鼠标右键,然后选择EncodeURIComponent来选择性地对 URL 的某些部分进行编码。
对你的请求进行故障排除
Postman 将指出你请求中可能无法按预期运行的部分中的任何空格或无效字符,以便你可以纠正你的值。请求方法、URL(包括路径)、参数、header(包括你的密钥名称)和正文中会突出显示无效字符。
如果 Postman 无法发送你的请求或没有收到回复,你将收到一条消息,其中包含有关错误的详细信息。选择在控制台中查看以了解你的请求的概览并帮助确定问题的根源。
如果你的请求没有按预期工作,请查看一些 故障排除提示 。
下一步
设置请求后,选择发送并检查 响应 。