您可以使用临时文件或HTTP请求类型的物理文件处理HTTP请求。
Scratch文件可用于在开发期间测试HTTP请求。临时文件不存储在项目中,因此IntelliJ IDEA可以修改它并添加有关请求的其他信息。从临时文件执行HTTP请求时,响应输出文件的链接将添加到请求下方和请求历史记录文件的顶部。
物理文件可用于记录,测试和验证HTTP请求。物理文件存储在项目中,IntelliJ IDEA不会修改它。从物理文件执行HTTP请求时,不会修改此文件。有关已执行请求以及响应输出文件链接的信息将添加到请求历史记录文件的顶部。
您可以使用Move refactoring(F6)将HTTP请求从划痕移动到物理文件,以及物理文件之间。
以选择文件或键入要将请求移动到的文件的完整路径。请注意,您可以指定不存在的文件的名称,在这种情况下,将自动创建具有提供的名称的新文件。
您可以使用以下常规语法直接在创建的HTTP请求文件中键入HTTP请求:
Method Request-URI HTTP-Version Header-field: Header-value Request-Body
IntelliJ IDEA使用编辑器格式的HTTP请求,它提供了一种创建,执行和存储有关HTTP请求的信息的简单方法。要了解其可能性的概述,您可以浏览HTTP请求集合,这是一小部分组合请求。
编辑器的右上角或选择“ 工具”| HTTP客户端| 在主菜单中打开HTTP请求集合。
要加快撰写HTTP请求的速度,请使用实时模板。例如,gtr
扩展为简单的GET请求; mptr
扩展为multipart/form-data
POST请求。
GIF
以下示例更详细地演示了编辑器格式功能中的HTTP请求:
GET
默认情况下要使用的URI 。注释行可以使用//
或启动#
:
// A basic request http://example.com/a/
在Java上下文中,您可以使用代码完成 (Ctrl+Space)来根据定义的@Path
注释指定URI 。@Path
对Java代码中的注释的任何更改都将反映在建议列表的内容中。###
:
// A basic request http://example.com/a/ ### // Longer request with method GET http://example.com:8080/api/html/get?id=123&value=content
将长请求分成几行可能更方便。请注意,在这种情况下,所有查询字符串行,但第一个必须缩进,例如:
// Using line breaks with indent GET http://example.com:8080 /api /html /get ?id=123 &value=content
Authorization
按如下方式生成标头:// Basic authentication GET http://example.com Authorization: Basic username password ### // Digest authentication GET http://example.com Authorization: Digest username password
与其他HTTP请求的元素类似,提供的username
和password
可以通过环境变量进行参数化。Content-Type
标题字段值设置为IntelliJ IDEA支持的语言之一,则相应的语言片段将自动注入HTTP请求消息正文中。如果Content-Type
未指定,则可以手动注入语言片段。有关更多信息,请参阅使用语言注入。Accept
根据定义的@Produces
注释指定头字段值。@Produces
对Java代码中的注释的任何更改都将反映在建议列表的内容中。<
符号,然后键入文件的路径。// The request body is provided in place POST http://example.com:8080/api/html/post HTTP/1.1 Content-Type: application/json Cookie: key=first-value {
"key" : "value", "list": [1, 2, 3]
}
### // The request body is read from a file POST http://example.com:8080/api/html/post Content-Type: application/json < ./input.json
multipart/form-data
内容类型执行HTTP请求。要将文件作为multipart/form-data
消息的一部分发送,请filename
在Content-Disposition
标头中包含该参数。
POST http://example.com/api/upload HTTP/1.1 Content-Type: multipart/form-data;
boundary=boundary --boundary Content-Disposition: form-data;
name="first";
filename="input.txt" // The 'input.txt' file will be uploaded < ./input.txt --boundary Content-Disposition: form-data;
name="second";
filename="input-second.txt" // A temporary 'input-second.txt' file with the 'Text' content will be created and uploaded Text --boundary Content-Disposition: form-data;
name="third"; // The 'input.txt' file contents will be sent as plain text. < ./input.txt --boundary--
在编写HTTP请求时,您可以使用环境变量对其元素进行参数化。例如,您可以使用{{host}}
占位符,而不是在请求中明确提供主机名。然后在项目中定义一组包含所需主机定义的环境变量。执行请求时,IntelliJ IDEA将提供已定义环境的选择,在我们的示例中,主机将请求发送到:
在查看 请求的结构并在浏览器中打开请求时,所选环境将用作默认环境 。
环境变量在env环境文件中定义,必须存储在项目中。
变量可以包含主机,端口,路径,查询参数或值以及标头值的值。变量的名称只能包含字母,数字,下划线符号(_
)或连字符号(-
)。
响应处理程序脚本使您可以以编程方式“响应”收到的HTTP响应。这样可以自动处理接收的数据,并根据您指定的条件对其进行验证。响应处理程序脚本作为HTTP请求文件中的请求的一部分提供,并在收到响应后立即执行。要查看响应处理示例,请打开身份验证请求或测试响应 请求集合。
您可以在适当的位置或通过引用外部文件将响应处理程序脚本插入到请求中。
要将脚本插入到位,>
请将其作为前缀并将其括在{% %}
:
GET host/api/test > {% // Response Handler Script ... %}
要通过引用外部文件来插入脚本,请在其前面加上>
:
GET host/api/test > scripts/my-script.js
响应处理程序脚本使用JavaScript编写,编码帮助和文档由捆绑HTTP Response Handler
库处理。对于就地脚本,此功能会自动启用。
该HTTP Response Handler
库公开了两个用于组合响应处理程序脚本的对象:
client
存储会话元数据,可以在脚本内部进行修改。在client
您关闭IntelliJ IDEA之前,状态会一直保留。保存在每个变量client.global
的variable_name
是后续的HTTP请求的访问{{variable_name}}
。response
保存有关收到的响应的信息:其内容类型,状态,响应正文等。响应处理程序脚本可以包含测试,允许您将HTTP客户端用作测试框架。要创建测试,请调用该client.test(testName, function)
方法。在测试中,您可以通过调用client.assert(condition, message)
方法来断言条件,例如:
GET https://httpbin.org/status/200 > {% client.test("Request executed successfully", function()
{ client.assert(response.status === 200, "Response status is not 200");
}); %}
的请求旁边的编辑器左侧装订线中的“ 运行”图标。在弹出菜单中,选择“运行<请求名称>”。
您可以在IntelliJ IDEA设置的Web浏览器部分中指定的浏览器中打开HTTP请求。这可以是您的系统默认浏览器,也可以是您选择的浏览器。
当您执行HTTP请求时,IntelliJ IDEA会自动将响应保存到.idea / httpRequests /目录下的单独文件中。您可以查看最近存储的50个响应,并使用请求历史记录导航到相应的文件。如果请求是从暂存文件执行的,则其响应输出的链接也会添加到原始请求之下:
,“以XML 格式查看”
或“以JSON 格式查看”
按钮。
从临时文件执行请求时,响应输出文件的链接将添加到原始请求的下方。
左侧装订线中的图标,然后从弹出菜单中选择与<响应名称>进行比较:
从物理文件执行请求时,响应输出的链接将添加到请求历史记录中。
这两个响应文件将在差异查看器中打开,允许您比较它们的内容:
IntelliJ IDEA自动将最近执行的50个请求保存到http-requests-log.http文件中,该文件存储在.idea / httpRequests /目录下的项目级别。使用请求历史记录,您可以快速导航到特定响应并重新运行任何请求。如果从请求历史记录重新运行请求,则其执行信息和响应输出的链接将添加到请求历史记录文件的顶部。
编辑器的右上角或选择“ 工具”| HTTP客户端| 在主菜单上显示HTTP请求历史记录。
本文系外文翻译,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系外文翻译,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。