codecamp

postman 构建请求

您可以在 Postman 中发送请求以连接到您正在使用的 API。您的请求可以检索、添加、删除和更新数据。无论您是构建或测试自己的 API,还是与第三方 API 集成,您都可以在 Postman 中发送请求。您的请求可以发送参数、授权详细信息和您需要的任何正文数据。

例如,如果您正在为商店构建客户端应用程序(例如移动或网络应用程序),您可能会发送一个请求来检索可用产品列表,另一个请求来创建新订单(包括所选产品的详细信息) ),以及让客户登录其帐户的不同请求。

当您发送请求时,Postman 会以一种允许您检查、可视化并在必要时进行故障排除的方式显示从 API 服务器收到的响应。

响应成功的请求生成器

如果您以前从未发送过请求,请在继续之前检查发送您的第一个请求。

创建请求

您的请求可以包含多个详细信息,确定 Postman 将发送到您正在使用的 API 的数据。输入一个 URL 并选择一种方法,然后可以选择指定各种其他详细信息。

您可以从 Postman 主屏幕创建新请求,方法是使用New > HTTP Request或选择+打开新选项卡。

创建新屏幕

选择保存以创建您的请求。您可以为您的请求命名和描述,然后选择或创建一个集合来保存它。

打开新选项卡后,您可以指定请求所需的详细信息。

新请求

添加请求详细信息

如果您有要运行的请求,则需要知道 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://如果您不指定协议,邮递员将自动添加到您的 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 的任何正文数据。
  • 如果您不需要随请求发送数据,请设置任何必需的身份验证标头

发送参数

您可以使用 URL 字段和“参数”选项卡随请求一起发送路径和查询参数。

  • 查询参数附加到请求 URL 的末尾,跟随?并以键值对的形式列出,使用&以下语法分隔:?id=1&type=new
  • 路径参数构成请求 URL 的一部分,并使用前面的占位符引用,:如以下示例所示:/customer/:id

要发送查询参数,请将其直接添加到 URL 或打开Params并输入名称和值。当您在 URL 或Params字段中输入查询参数时,这些值将在 Postman 中使用的任何地方更新。

参数不会自动进行 URL 编码。右键单击所选文本,然后选择EncodeURIComponent以手动编码参数值。

要发送路径参数,请在 URL 字段中输入参数名称,在冒号之后,例如:id。当您输入路径参数时,Postman 会将其填充到“参数”选项卡中,您也可以在其中进行编辑。

路径参数

您可以为您的参数添加描述,它们将显示给共享请求(例如在您的工作区中)或查看您的 API 文档的任何人。

如果您更喜欢以纯文本形式输入参数而不是使用请求生成器,则可以使用批量编辑选项。

如果您的请求不需要正文数据、身份验证或标头,请选择发送。否则,设置您的bodyauthheaders

发送正文数据

每当您需要添加或更新结构化数据时,您都需要随请求发送正文数据。例如,如果您要发送将新客户添加到数据库的请求,您可能会在 JSON 中包含客户详细信息。通常,您会将正文数据与PUT、POST和PATCH请求一起使用。

Postman 中的Body选项卡允许您指定需要随请求一起发送的数据。您可以发送各种不同类型的正文数据以适合您的 API。

如果您要发送正文数据,请确保选择了正确的标头以指示您的 API 正确处理接收到的数据可能需要的内容类型。对于表单数据和 urlencoded 主体类型,Postman 将自动附加正确的Content-Type标头。如果您对正文数据使用原始模式,Postman 将根据您选择的类型(例如文本或 json)设置标题。如果您手动选择Content-Type标头,则该值将优先于 Postman 设置的值。Postman 没有为二进制正文类型设置任何标头类型。

默认情况下,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 将启用语法突出显示并将相关标头附加到您的请求中。

主体 JSON

如果您需要覆盖邮递员自动发送的内容类型标头,您可以手动设置。

您可以在正文数据中使用变量,Postman 将在发送您的请求时填充它们的当前值。

要美化您的 XML 或 JSON,请在编辑器中选择文本,然后选择⌘+Option+B或Ctrl+Alt+B。

二进制数据

您可以使用二进制数据来发送无法在 Postman 编辑器中使用请求正文手动输入的信息,例如图像、音频和视频文件(您也可以发送文本文件)。

图形QL

您可以通过选择请求正文中的GraphQL选项卡,将 GraphQL 查询与您的 Postman 请求一起发送。在查询区域中输入您的代码,并在GraphQL 变量部分中输入任何变量。

查看使用 GraphQL以获取有关 GraphQL 的更多信息,包括如何启用由 Postman API 模式提供支持的自动完成功能。

验证请求

某些 API 需要您可以在 Postman 中发送的身份验证详细信息。认证涉及确认发送请求的客户端的身份,授权涉及确认客户端具有执行端点操作的权限。打开授权选项卡以配置您的访问详细信息。

请求授权

Postman 会自动将您的身份验证详细信息包含在请求的相关部分中,例如在Headers中。

有关在 Postman 请求中实现不同类型身份验证的更多详细信息,请查看授权请求

设置您的身份验证和其他请求详细信息后,选择发送以运行您的请求。

配置请求标头

某些 API 要求您随请求一起发送特定标头,通常是为了提供有关您正在执行的操作的更多元数据。您可以在标题选项卡中设置这些。输入您需要的任何键值对,Postman 会将它们与您的请求一起发送。当您输入文本时,Postman 会提示您使用可用于自动完成设置的常用选项,例如Content-Type.

标头类型

您可以将常用的标题一起保存在标题预设中。在Headers选项卡中,选择Presets,然后选择Manage Presets。通过提供名称并输入键加值来添加每个预设。选择添加,您的预设将出现在预设下拉列表中。选择预设将自动填充请求标头中的字段。

自动生成的标题

Postman 会根据您的请求选择和设置自动将某些标头添加到您的请求中。选择标题选项卡顶部的隐藏,以获取有关 Postman 将随您的请求发送的内容的信息。

隐藏标题

将鼠标悬停在标题上以获取有关它的详细信息。邮递员将指出添加标头的原因。如果需要,详细信息将指示如何停用或覆盖标头值。

主机头

停用或覆盖推荐的标头可能会使您的请求出现意外行为。

如果您需要更改标题,您可以在 Postman 的相关部分进行更改,例如Authorization选项卡、请求Body、请求域的Cookies 、 Settings,在某些情况下直接在Headers选项卡本身中进行。

令牌头

如果您需要转到应用程序的不同部分,Postman 会在右侧显示一个链接。

如果已根据您的身份验证设置添加标头,请选择“授权”选项卡进行更改。

要更改 cookie 标头,请更改您要向其发送请求的域的cookie 设置。

要直接在Headers中停用自动生成的标头,请清除其复选框。要覆盖自动生成的标头值,请取消选中自动生成的条目并为标头添加一个单独的条目,在Key字段中列出其名称并在Value字段中指定您的值。

如果同一个标头有多个条目,Postman 将指示将覆盖哪一个,优先考虑您直接在标头中明确添加的标头,或者通过您在请求的其他部分(例如Authorization )中所做的选择间接添加的标头。

对于Content-Length和Content-Typeheaders,Postman 将在您发送请求时根据Body选项卡中的数据自动计算值。但是,您可以覆盖这两个值。

设置标头和其他请求详细信息后,您可以选择“发送”以运行您的请求。

使用 cookie

您可以从 Postman 为您的域管理 Cookie。选择Cookie(在发送下)。有关详细信息,请参阅管理 cookie

管理 cookie 对话框

选择自定义设置

您可以使用请求设置选项卡为 Postman 请求配置各种设置。这些允许您将非标准逻辑应用于您的请求。

编码您的请求 URL

Postman 解析并编码您的请求 URL,以最大限度地提高 API 调用的成功率。Postman 对您的 URL 中的字符进行编码,并将它们映射到您的 API 最有可能接受的表示形式。Postman URL 处理器优化了您的请求被广泛使用的服务器实现有效处理的机会。

处理器将根据字符在 URL 中出现的位置对字符进行编码:

网址组件要编码的字符
小路" < > ` # ? { } SPACE
询问" # & ' < = > SPACE
用户信息" < > ` # ? { } / : ; = @ [ \ ] ^

处理器在 Postman 中默认打开,但如果您使用的是不寻常的服务器实现,则可以关闭编码。要在您的请求中打开或关闭此设置,请选择“设置”>“自动编码 URL”。

您可以通过突出显示文本并单击鼠标右键,然后选择EncodeURIComponent来选择性地对 URL 的某些部分进行编码。

对您的请求进行故障排除

Postman 将指出您请求中可能无法按预期运行的部分中的任何空格或无效字符,以便您可以纠正您的值。请求方法、URL(包括路径)、参数、标头(包括您的密钥名称)和正文中会突出显示无效字符。

无效字符

如果 Postman 无法发送您的请求或没有收到回复,您将收到一条消息,其中包含有关错误的详细信息。选择在控制台中查看以了解您的请求的概览并帮助确定问题的根源。

如果您的请求没有按预期工作,请查看一些故障排除提示

下一步

设置请求后,选择发送并检查响应


Postman 排查应用程序问题
Postman 授权请求
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }