彩票走势图

PHP集成开发环境PhpStorm使用教程(二):HTTP 请求语法

翻译|使用教程|编辑:董玉霞|2022-05-10 15:07:05.267|阅读 286 次

概述:本节介绍phpStorm 中 HTTP 请求格式中使用变量的介绍。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

本节介绍phpStorm 中 HTTP 请求格式中使用变量的介绍。

编写 HTTP 请求时,可以使用variables参数化其元素。变量可以保存请求的主机、端口和路径的值、查询参数或值、标头值或在请求正文或外部文件中使用的任意值。

在请求中提供一个变量

  • 将变量括在双花括号中作为{{variable}}.

变量名只能包含字母、数字、下划线_或连字符-。变量的值可以是以下任何一种:

  • 通过环境变量为每个环境显式提供
  • 通过$uuid、$timestamp和$randomInt预定义的动态变量动态生成
  • 通过该方法在响应处理程序脚本中以编程方式定义client.global.set。
环境变量

环境变量允许您在项目中存储一组环境定义。例如,可以创建和使用{{host}}变量,而不是在请求中明确提供主机名。执行请求时,可以在定义的环境之间进行选择,从而将其发送到特定主机:

php开发工具PhpStorm更新至V2022.1版本。

在查看请求的结构、在浏览器中打开请求、执行请求并为其创建运行/调试配置时,所选环境将用作默认环境。

定义环境变量

环境变量在环境文件中定义。

  1. 在请求的编辑器面板顶部,在Run with列表中,选择要添加环境的位置:
    • 如果希望环境公开,请选择将环境添加到公共文件...。这会将环境添加到http-client.env.json文件中。此文件可以包含常见变量,例如主机名、端口或查询参数,并且旨在与您的项目一起分发。
    • 如果希望环境是私有的,请选择将环境添加到私有文件...。这会将环境添加到http-client.private.env.json文件中。此文件可能包含密码、令牌、证书和其他敏感信息。默认情况下,它会添加到 VCS 忽略文件列表中。http-client.private.env.json文件中指定的变量值会覆盖公共环境文件中的值。
  2. 使用所需的变量填充创建的文件。

    以下示例http-client.env.json环境文件定义了两个环境:开发和生产。附加的http-client.private.env.json文件包含敏感的授权数据。

    http-client.env.json

       {
        "development": {
            "host": "localhost",
            "id-value": 12345,
            "username": "",
            "password": "",
            "my-var": "my-dev-value"
        },
    
        "production": {
            "host": "example.com",
            "id-value": 6789,
            "username": "",
            "password": "",
            "my-var": "my-prod-value"
        }
    }
    

    http-client.private.env.json

       {
        "development": {
            "username": "dev-user",
            "password": "dev-password"
        },
    
        "production": {
            "username": "user",
            "password": "password"
        }
    }
    

    示例 HTTP 请求如下:

       GET //{{host}}/api/json/get?id={{id-value}}
    Authorization: Basic {{username}} {{password}}
    Content-Type: application/json
    
    {
        "key": "{{my-var}}"
    }
    

    在执行请求之前,PHP开发工具PhpStorm 允许您使用请求编辑器面板顶部的Run with列表来选择执行环境。

    根据用户的选择,生成的请求将是以下之一:

    发展

       GET //localhost/api/json/get?id=12345
    Authorization: Basic dev-user dev-password
    Content-Type: application/json
    
    {
        "key": "my-dev-value"
    }
    

    生产

      GET //example.com/api/json/get?id=6789
    Authorization: Basic user password
    Content-Type: application/json
    
    {
        "key": "my-prod-value"
    }
    

    如果在执行请求时变量未解析,PhpStorm 会显示一条通知,让您快速创建、更新或选择不同的执行环境。

    php开发工具PhpStorm更新至V2022.1版本。

动态变量

每次运行请求时,动态变量都会生成一个值:

  • $uuid:生成一个通用唯一标识符(UUID-v4)
  • $timestamp: 生成当前的 UNIX 时间戳
  • $randomInt: 生成 0 到 1000 之间的随机整数。

例如:

  GET //localhost/api/get?id={{$uuid}}
处理响应

可以使用 JavaScript 处理响应。键入>请求后的字符并指定 JavaScript 文件的路径和名称或将响应处理程序脚本代码包裹在{% ... %}.

  GET //httpbin.org/get

> /path/to/responseHandler.js
   GET //httpbin.org/get

> {%
    client.global.set("my_cookie", response.headers.valuesOf("Set-Cookie")[0]);
%}
重定向响应

可以将响应重定向到文件。如果文件已存在,则用于>>创建带有后缀的新文件,如果文件存在>>!则重写该文件。可以指定绝对路径或相对于当前 HTTP 请求文件的相对路径。您还可以在路径中使用变量,包括环境变量和以下预定义变量:

  • {{$projectRoot}}指向项目根目录:.idea
  • {{$historyFolder}}指向.idea /httpRequests/

以下示例 HTTP 请求在 HTTP 请求文件旁边的 myFolder 中创建 myFile.json 并将响应重定向到它。如果文件已经存在,它会创建myFile-1.json等等。

   POST //httpbin.org/post
Content-Type: application/json

{
  "id": 999,
  "value": "content"
}

>> myFolder/myFile.json

以下示例 HTTP 请求在.idea /httpRequests/中创建myFile.json。如果文件已经存在,它会覆盖该文件。它还使用位于项目根目录中的handler.js脚本处理响应。

  POST //httpbin.org/post
Content-Type: application/json

{
  "id": 999,
  "value": "content"
}

> {{$projectRoot}}/handler.js

>>! {{$historyFolder}}/myFile.json

以上就是HTTP请求语法中关于使用变量、处理文件、重定义响应的相关内容,下载phpstorm最新版本来确保自己功能达到最新。

phpstorm| 下载试用

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

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


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP