扫码阅读
手机扫码阅读
IntelliJ中基于文本的HTTP客户端
45 2024-04-16
IntelliJ
提供了一个纯基于文本的HTTP客户端。尽管一开始听起来可能很奇怪,但事实证明这是一个非常有用的功能。
入门
首先,我们需要创建一个名称以.http
或.rest
结尾的文件。例如FunTester.http
。
要发出简单的GET请求,我们必须在新创建的文件中写下该请求。
例如:
GET https://api.muxiaoguo.cn/api/dujitang
IntelliJ
现在在该行旁边添加了一个小的Run-Icon,它可以执行请求。
响应结果:
GET https://api.muxiaoguo.cn/api/dujitang
HTTP/1.1 200 OK
Server: nginx
Date: Tue, 22 Sep 2020 08:17:55 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Strict-Transport-Security: max-age=31536000
{"code":"200","msg":"success","data":{"comment":"你以为有钱人很快乐吗?他们的快乐你根本想象不到!"}}
Response code: 200 (OK); Time: 146ms; Content length: 76 bytes
Cannot preserve cookies, cookie storage file is included in ignored list: > /Users/fv/Documents/workspace/fun/.idea/httpRequests/http-client.cookies
如果要添加 JSON
参数的请求头,只需添加Content-Type
标头和请求正文:
GET https://api.muxiaoguo.cn/api/dujitang
cookie: PHPSESSID=e78ldgop6jub72kp636vqcsj6l
user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36 Content-Type: application/json
{ "aa": "FunTester", "ss": "ok" }
同一文件中的多个请求需要使用**###**分隔。例如:
GET https://api.muxiaoguo.cn/api/dujitang
cookie: PHPSESSID=e78ldgop6jub72kp636vqcsj6l
user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36 ###
GET https://api.muxiaoguo.cn/api/dujitang
cookie: PHPSESSID=e78ldgop6jub72kp636vqcsj6l
user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36 Content-Type: application/json
{ "aa": "FunTester", "ss": "ok" }
使用变量
使用{{..}}
语法,我们可以向请求中添加变量。也许我们想针对不同的环境发出相同的请求。为此,我们可以使用host
变量更新请求:
GET http://{{host}}/products
接下来,我们需要定义{{host}}
变量。为此,我们创建一个http-client.env.json
文件并添加以下内容:
{ "development": { "host": "http://localhost:8080" }, "production": { "host": "http://my-cool-api.com" }
}
这定义了两个环境:dev
和online
。两种环境都使用不同的值定义host
变量。
运行请求时,我们现在可以选择所需的环境:
团队共享
基于文本的简单请求定义使您可以轻松地与团队共享。您甚至可以将请求文件检入版本控制系统。当然,您不希望签入执行请求可能需要的密码或API密钥。IntelliJ
通过单独的私有环境文件(http-client.private.env.json)支持此功能。与前面的环境示例一样,我们可以使用此文件来定义变量。
例如:
{ "dev": { "api-key": "S3DKLJ56698CR3T" }
}
为了确保安全性,我们可以从版本控制系统中明确排除此文件。
原文链接:
https://mp.weixin.qq.com/s?__biz=MzU4MTE2NDEyMQ==&mid=2247487916&idx=1&sn=773dfed741d1d3ae83481dfe2bd3a516
FunTester的其他文章
JsonPath验证类既Groovy重载操作符实践
在使用JsonPath工具类封装进行接口响应的验证过程中,由于使用原生的JsonPath的API获取到的值默认是object,如果需要转成其他类型需要多些一些代码。
Java微基准测试神器JMH初探
当我们编写一段Java代码之后,如果想知道代码性能如
如何设置质量检查流程
根据《2019-2020年世界质量报告》,只有「23%」 的IT预算分配给质量检查。自2015年占比「35%」 以来一直呈下降趋势。
面试中的cookies、session、token
前言
一般在面试的时候,经常会被问到关于什么是coo
测试写代码的好处
在软件开发过程中,测试人员负责确保软件产品的质?
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设
白皮书上线