IDEA 版 Postman HTTP Client 测试 API 接口
IDEA HTTP Client About 2,910 words说明
IDEA
专业版中的工具HTTP Client
,用于测试API
接口。部分可替代PostMan
。
.HTTP
和.rest
结尾的文件,会被IDEA
识别为可被HTTP Client
功能调用的文件。
快捷键
前提:需自己新建文件,而不是在Scratches and Consoles
或者.idea/httpRequests
文件夹下。
gtr
:GET
请求,不带QueryString
请求参数。gtrp
:GET
请求,携带QueryString
请求参数。ptr
:POST
请求,携带JSON
数据,Content-Type: application/json
。ptrp
:POST
请求,携带表单数据,Content-Type: application/x-www-form-urlencoded
。mptr
:POST
请求,文件上传。
多环境配置
全局配置
文件名:HTTP-client.env.json
适用于全局,一般会进行版本控制,团队公共。
示例:development
和production
环境(命名随意)。
{
"development": {
"host": "localhost:8080",
"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
适用于本地,用于覆盖全局配置,一般不上传远程仓库。
示例:本地覆盖username
和password
。
{
"development": {
"username": "dev",
"password": "dev"
},
"production": {
"username": "user",
"password": "password"
}
}
返回值处理脚本
使用返回值处理脚本,可以提取返回值中的值,以便复用,用于后续请求。
client
是HTTP Client
的一个JavaScript
对象,包含了:client.log
打印日志、client.global
存储全局变量。
response
是HTTP Client
中表示接口的返回信息,存储了返回值,HTTP
的状态码、Headers
头信息、Content-Type
。
代码示例。
> {%
if (response.status === 200){
if(response.body.code === 0) {
client.global.set("token", response.body.data);
client.log(JSON.stringify(response.body.data))
}
}
client.log(JSON.stringify(response))
%}
还可以引入外部js
文件
> script/my-script.js
存储全局变量。
client.global.set("abc", "this is value");
获取全局变量,直接使用{{}}
获取。
{{abc}}
response
中的信息,其中body
字段下的code
、msg
等是自定义的接口返回值,其余为response
的固定值。
{
"body": {
"code": 0,
"msg": null,
"data": "6567bf15-58f5-41e2-b024-adcd223f589c"
},
"status": 200,
"headers": {},
"contentType": {
"mimeType": "application/json",
"charset": ""
}
}
内置变量
$uuid
生成通用的UUID
(v4
)。
{{$uuid}}
$timestamp
生成UNIX
时间戳。
{{$timestamp}}
$randomInt
生成介于0
~`1000`之间的随机数。
{{$randomInt}}
管理 Cookies
Cookies
存储在.idea/httpRequests/
目录下的HTTP-client.cookies
文件中。
最多存储300
个Cookies
。
@注释
@name
给API
接口取名,否则IDEA
默认以#1
开始编排。
# @name apiName
@no-log
返回结果不记录在.idea/httpRequests/
文件夹下,适用于一些不适合保存的敏感数据。
# @no-log
@no-cookie-jar
请求时不携带Cookies
。
# @no-cookie-jar
@no-redirect
服务端返回301
等重定向状态码时,不请求重定向后的地址,直接返回301
的结果。
# @no-redirect
@use-os-credentials
# @use-os-credentials
转换成 cURL
方法一
将光标点击到需要转换的HTTP
请求上,点击顶部Convert to cURL and Copy
,即可将HTTP Client
中声明的请求复制成cURL
并且拷贝到粘贴板中。
方法二
将光标点击到需要转换的HTTP
请求上,按下Alt
+Enter
快捷键,选择Convert to cURL and copy to clipboard
,即可将HTTP Client
中声明的请求复制成cURL
并且拷贝到粘贴板中。
更多用法
HTTP Client
还支持:GraphQL
、WebSocket
。
===
:分割WebSocket
的每条信息。
=== wait-for-server
:等待WebSocket
服务端返回信息。
参考
https://www.jetbrains.com/help/idea/exploring-http-syntax.html
https://www.jetbrains.com/help/idea/HTTP-client-in-product-code-editor.html
视频讲解
https://www.bilibili.com/video/BV1Xa411978P
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb/LiteNote扫描下方二维码关注公众号和小程序↓↓↓