PHP集成开发环境PhpStorm中的HTTP客户端概述

在开发 Web 服务时,您通常会通过向其发送各种 HTTP 请求并检查返回的内容来对其进行测试。在 PhpStorm 中,您可以直接在代码编辑器中执行此操作。在这篇文章中,我们将告诉您具体操作方法。

在开发 Web 服务时,您通常会通过向其发送各种 HTTP 请求并检查返回的内容来对其进行测试。在

环顾四周

在 PhpStorm 中,您的 HTTP 请求存储在带有.http或.rest扩展名的常规文件中。创建一个后,在里面输入 URL。对于 GET 等简单的请求,这就足够了,因此您可以按Alt+Enter并选择Run立即执行请求。请求被执行,响应显示在运行工具窗口中。

PHP集成开发环境PhpStorm中的HTTP客户端概述

一个.http文件可以容纳您需要的任意数量的请求。您可以通过键入将它们分开###。如果你执行一个请求,PhpStorm 甚至会自动添加这个分隔符,让你免于每次都输入它的麻烦。不仅如此,您还可以通过使用实时模板来减少打字并加快速度。要查看所有可用模板,请按Cmd+J(在 Windows 上为Ctrl+J )。作为一个例子,让我们使用“gtr”,它扩展为一个 GET 请求框架:

PHP集成开发环境PhpStorm中的HTTP客户端概述

运行请求后,PhpStorm 会自动为其创建临时运行配置。现在,如果您更改 PHP 代码中的某些内容,您可以按Ctrl+R(在 Windows 上为Shift+F10)重新运行此配置并立即测试更改,而无需切换上下文。

PHP集成开发环境PhpStorm中的HTTP客户端概述

有时您可能想要执行一些临时测试:运行特定方法并比较请求之间返回的内容。为此,您可以使用 Scratches。它们的行为类似于常规物理文件,但并不意味着存储在项目中。

首先,创建一个新的.http暂存文件,并在其中编写您的请求。当你运行它时,收到的响应信息将被添加到同一个文件中,直接在请求下。再次运行它以获取指向下一个响应的链接,依此类推。现在,您可以单击编辑器装订线中的按钮,并通过差异查看器当场比较收到的响应。

PHP集成开发环境PhpStorm中的HTTP客户端概述

暂存文件旨在在不需要时立即丢弃,但是如果您喜欢特定的请求怎么办后您可以将其保留在项目中:选择Refactor | 移动文件并将其移动到常规.http文件。与任何其他项目文件一样,您现在可以将其提交到 VCS,与您的团队共享,并将其用作测试或记录 Web API 的参考。

回顾一下,单击编辑器右上角的Open Log链接。在这里,您可以查看最近执行的 50 个请求,重新运行其中任何一个,或在编辑器中打开响应文件。

PHP集成开发环境PhpStorm中的HTTP客户端概述

授权和变量

如果您的 Web 服务需要授权,您可以通过在 HTTP 请求中提供Authorization标头、身份验证方法和所需的凭据来访问它。但是,通过这种方式,您的凭据成为请求的一部分,共享它们可能不是一个好主意。

PHP集成开发环境PhpStorm中的HTTP客户端概述

在这里,环境变量派上用场了:我们可以用变量替换所需的值,然后在请求运行时立即将它们放置到位。在请求中,提供了用双花括号括起来的变量,如下所示:{{MyVariable}}.

为了有可能针对不同的服务器,让我们首先将主机替换为{{HOST}}; 然后,我们将用户和密码值替换为{{USER}}and {{PASSWORD}}。通过这种方式,我们将这些值转换为变量。

PHP集成开发环境PhpStorm中的HTTP客户端概述

要定义这些变量,您需要创建一个新文件并将其命名为http-client.env.json. 在文件中,定义代表特定服务器的环境以及一组变量。

PHP集成开发环境PhpStorm中的HTTP客户端概述

由于该http-client.env.json文件也将与项目共享,我们可以更进一步,隔离用户名和密码。所以让我们创建另一个文件并命名它http-client.private.env.json。私人是这里的关键——这个文件旨在保存敏感数据,默认情况下它甚至会被 VCS 忽略。在该文件中,我们将复制我们的环境,然后提供用户名和密码。

PHP集成开发环境PhpStorm中的HTTP客户端概述

当我们运行请求时,PhpStorm 将变量替换为实际值。更重要的是,您的队友可以重复使用相同的请求,但可以根据他们的环境对其进行调整。

脚本

在 HTTP 客户端中,您可以查看 Web 服务返回的内容,并可以通过编程对其做出反应。

让我们考虑这个例子:当我们运行第一个请求时,我们的 Web 服务返回一个 JSON 响应。然后我们可以编写一个简单的脚本来修改它,这样我们就可以使用第二个 POST 请求将修改后的数据发送回服务器。

PHP集成开发环境PhpStorm中的HTTP客户端概述

响应处理程序脚本包含在 中> {% %},用 JavaScript 编写,并在收到响应后立即执行。

在我们的第一个脚本中,我们引用response对象,其中包含有关接收到的响应的信息,然后获取响应正文 JSON 并修改其New features键的值。接下来,我们引用该client对象,该对象存储会话元数据,直到您重新启动 PhpStorm,并将修改后的响应正文保存到新的myResponse全局环境变量中。

> {%  response.body["Stable release"] = "2019.3";  client.global.set("myResponse", JSON.stringify(response.body));%}

当我们重新运行请求时,响应会被修改并保存。在将 JSON 数据发送到服务器的第二个 POST 请求中,我们现在可以将myResponse变量设置为请求正文,并运行它以将数据存储在服务器上。

PHP集成开发环境PhpStorm中的HTTP客户端概述

您现在可以重新运行第一个 GET 请求 – 并确保它返回修改后的数据。

测试

虽然这次效果很好,但想象一下有更多的脚本附加了各种响应值、条件或逻辑——手动检查每个脚本最终将成为一种负担,我们要让 PhpStorm 为我们做这件事。

我们将增强脚本,使其包含实际测试。在这里,我们使用test方法,在其中我们提供了测试的名称,然后是运行测试的函数。在函数内部,我们使用该assert方法检查响应正文 JSON 键的值,如果不满足条件则输出错误消息。当然,您不仅限于一次检查,我们还添加了一个检查响应状态的条件。

> {%  client.test("Version", function() {  client.assert(response.body["Stable release"] === "2019.3", "Returned no info on the latestrelease");});  client.test("Status", function() {    client.assert(response.status === 200, "Response status is not 200");  });%}

现在,当您运行请求时,PhpStorm 将在专用的“测试”选项卡上为您提供测试结果。如果出现任何问题,测试将失败,但您将确切知道出了什么问题并可以立即修复它。

PHP集成开发环境PhpStorm中的HTTP客户端概述

希望这篇文章能够阐明 HTTP 客户端的可能性,请参阅HTTP客户端相关文章以了解更多信息,下载phpstorm最新版本来确保自己功能达到最新。

phpstorm| 下载试用

phpstorm一个轻量级且便捷的PHP IDE,其旨在提高用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查。可随时帮助用户对其编码进行调整,运行单元测试或者提供可视化debug功能。

JetBrain技术交流群现已开通,QQ搜索群号“786598704,欢迎进群讨论

标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年1月1日
下一篇 2022年1月1日

相关推荐

发表回复

登录后才能评论