Open JasonWu73 opened 4 years ago
IntelliJ IDEA 的 HTTP 客户端编辑器是以 .http 或 .rest 结尾的文本文件。
.http
.rest
Method Request-URI HTTP-Version Header-field: Header-value Request-Body
其中注释是以 // 或 # 开头的脚本。
//
#
可使用 ### 来分隔多个请求。
###
对于 GET 请求,可省略请求方法。
GET
可将长请求代码分成多行书写:
// Using line breaks with indent GET http://example.com:8080 /api /html /get ?id=123 &value=content
在请求行上加入 @no-log 注释可取消记录请求历史:
@no-log
// @no-log GET example.com/api
在请求行上加入 @no-cookie-jar 注释可取消保存 cookies:
@no-cookie-jar
// @no-cookie-jar GET example.com/api
使用 Ctrl+J 可选择动态模板插入。
Ctrl+J
还可点击 Examples 标签,查看相应 HTTP 请求的示例代码。
Examples
使用 {{variable}} 引用变量:
{{variable}}
Ad Environment File
$uuid
$timestamp
$randomInt
client.global.set
在文件中直接插入响应处理脚本,以 > 开头,并以 {% %} 结尾:
>
{% %}
GET host/api/test > {% // Response Handler Script ... %}
HTTP Response Handler 是用 ECMAScript 5.1 编写的,并暴露出了两个对象:
HTTP Response Handler
client
response
例如 {% client.global.set("auth_token", response.body.json.token); %} 可被后续脚本通过 {{auth_token}} 的方式引用。
{% client.global.set("auth_token", response.body.json.token); %}
{{auth_token}}
可在 client 或 response 对象上,按 Ctrl+B 查看源码文档。
Ctrl+B
鼠标定位到请求的第一行脚本,然后按 Alt+Enter,可便捷地执行请求。
Alt+Enter
此外,Ctrl+Click 第一行请求,可通过默认浏览器打开该地址。
Ctrl+Click
rest-client.private.env.json 存放自定义变量:
rest-client.private.env.json
{ "production": { "baseUrl": "https://aip.baidubce.com", "faceBaseUrl": "https://aip.baidubce.com/rest/2.0/face/v3", "apiKey": "xxx", "secretKey": "xxx" } }
HTTP API.rest(后缀也可以为 .http)存放 API 请求:
HTTP API.rest
# 获取 Access Token POST {{baseUrl}}/oauth/2.0/token HTTP/1.1 Content-Type: application/x-www-form-urlencoded grant_type=client_credentials &client_id={{apiKey}} &client_secret={{secretKey}} > {% client.global.set('accessToken', response.body['access_token']); client.log(client.global.get('accessToken')); %} ### # 人脸检测 POST {{faceBaseUrl}}/detect?access_token={{accessToken}} HTTP/1.1 Content-Type: : application/json { "image":"...", "image_type": "BASE64", "face_field": "quality,beauty", "liveness_control": "HIGH" }
官网连最基本的用base64等编码拼接参数的教程都没有,搜博客,又千篇一律。这东西连这种功能都没有?
可以先把文件转成Base64(可通过线上工具或自行编码),然后放到请求体的参数中就可以了。
IntelliJ IDEA 的 HTTP 客户端编辑器是以
.http
或.rest
结尾的文本文件。语法
其中注释是以
//
或#
开头的脚本。可使用
###
来分隔多个请求。对于
GET
请求,可省略请求方法。可将长请求代码分成多行书写:
在请求行上加入
@no-log
注释可取消记录请求历史:在请求行上加入
@no-cookie-jar
注释可取消保存 cookies:使用
Ctrl+J
可选择动态模板插入。还可点击
Examples
标签,查看相应 HTTP 请求的示例代码。使用变量
使用
{{variable}}
引用变量:Ad Environment File
创建)$uuid
:生成统一标识符(UUID-v4)$timestamp
:生成当前 UNIX 时间戳$randomInt
:生成 0 到 1000 之间的随机整数client.global.set
方法中设置的变量响应处理脚本
在文件中直接插入响应处理脚本,以
>
开头,并以{% %}
结尾:HTTP Response Handler
是用 ECMAScript 5.1 编写的,并暴露出了两个对象:client
对象:保存了会话元数据。该对象状态将一直存在,直到关闭 IntelliJ IDEA 为止response
对象:保存了响应数据可在
client
或response
对象上,按Ctrl+B
查看源码文档。执行
鼠标定位到请求的第一行脚本,然后按
Alt+Enter
,可便捷地执行请求。此外,
Ctrl+Click
第一行请求,可通过默认浏览器打开该地址。示例脚本
rest-client.private.env.json
存放自定义变量:HTTP API.rest
(后缀也可以为.http
)存放 API 请求: