IDEA rest-client,会了它我还没打开过postman

1. 简介

​ IDEA自己是提供测试接口工具的, rest-client/http client,功能很强大,在我平常使用中,彻底能够作到不须要打开 postman 的程度。 入口以下:json

image.png

<center>图一 打开方式</center>api

​ 点击 Test RESTful Web Service 是打开 Rest Client 工具,能够理解为一个使用了IDEAUI的接口测试工具,相对比较可视化,直接在上面根据实际需求填充值便可,再点左上角的按钮启动测试。app

image.png

<center>图二 rest client</center>工具

​ 图一选项中的第二个选项 Open Http Requests Collection 才是 今天的重点,能够直接经过 .http 后缀的文件来请求接口。除了在工具栏进去,也能够在任何地方本身 new 一个出来(图4),或者点击图二中黄色底的 Convert request to the new format ,也会在 Scratches and consoles 下的 Scratches文件夹 生成一个 .http文件(图五)post

image.png

<center>图三 http client</center>测试

image.png

<center> 图四</center>url

image.png

<center>图五 </center>spa

2. http client

​ 下面主要讲一下 http client 的使用,简单理解就是 http请求的参数,均可以在这里自行定义。3d

​ 刚刚进入文件会给你一个例子,第一行很容易理解,选择请求方式(GET、POST、PUT等) 以及 请求地址,这是必填项;第二行开始并不必定是要有的,不给的话就根据你的请求方式按照默认参数来给rest

GET http://localhost:8080/resources
Accept: */*
Cache-Control: no-cache

2.1 普通请求

​ 请求成功以后会在在下方控制台显示请求的内容,以及结果,并在 .http 文件的对应请求下方留有一条历史记录,方便查看(如图六)

image.png

<center>图六 http client运行效果</center>

2.2 变量请求

​ 系统常常会部署在不一样的环境之中,http client 同时也支持根据不一样的环境修改参数,支持的参数有:

  1. 请求ip,端口和路径
  2. 查询参数或值
  3. 请求头的值
  4. 在外部文件为请求体提供任意值

​ 支持的环境变量定义文件有具体的命名方式,而且须要跟 .http文件在同一目录下(Scratches and consoles文件夹下面的只能普通请求),命名也有要求,须要是下面的其中之一:

  • rest-client.env.json
  • http-client.env.json
  • rest-client.private.env.json
  • http-client.private.en.json

​ 上述文件中带private的文件不表示是一个私人的文件,可能包括密码,令牌,证书等敏感信息,默认状况下,此文件被添加到VCS忽略文件列表中。使用以下(内容是 Json 格式):

image.png

<center>图七 环境变量文件设置</center>

image-20201107175323436

<center>图八 运行时选择</center>

​ 如图七 图八,在设置完环境变量以后运行时就能够选择相关的环境变量传入请求中,直接运行便可

3. 使用小技巧

3.1 语法

  1. 注释使用 // 或者 #
  2. 分开请求用 ###
  3. 若是不想要生成日志
  4. 脚本 以>开头,将逻辑写在 {% %} 中,能够调用client对象

image.png

<center>图九 不记录日志</center>

3.2 快捷键

快捷键 说明
gtr 生成一个get请求
gtrp 生成一个get请求,外加参数
ptr 生成一个post请求,格式是application/json
ptrt 生成一个post请求,格式是application/x-www-form-urlencoded
mptr 生成一个post请求,表单提交
fptr 生成一个post请求,文件上传
###
# gtr
GET http://localhost:80/api/item
Accept: application/json

### 
# gtrp 
GET http://localhost:80/api/item?id=99
Accept: application/json

###
# prt
POST http://localhost:80/api/item
Content-Type: application/json

{}

###
#ptrp
POST http://localhost:80/api/item
Content-Type: application/x-www-form-urlencoded

id=99&content=new-element

###
# mptr
POST http://localhost:80/api/item
Content-Type: multipart/form-data; boundary=WebAppBoundary

--WebAppBoundary
Content-Disposition: form-data; name="field-name"

field-value
--WebAppBoundary--

###
# fprt
POST http://localhost:80/api/item
Content-Type: multipart/form-data; boundary=WebAppBoundary

--WebAppBoundary
Content-Disposition: form-data; name="field-name" filename="file.txt"

< ./relative/path/to/local_file.txt
--WebAppBoundary--

###

3.3 脚本

​ 能够在请求中添加脚本,打印或者存储一些信息,能够使用脚本存储一些结果变量,而后相似环境变量同样的引用。

image.png

<center>图十 脚本示例</center>

​ 若是使用了脚本的打印,结果控制台会出现一个选项框,显示打印内容,以下方的 Respinse Handler

image.png

3.4 多看示例

​ IDEA在 .http 文件的右边已经给咱们提供了不少例子,以及便捷操做,当本身无从下手的时候,也能够参考一下。还提供了从 cURL 转换为 .http 文件可识别的请求功能。

image.png

本文由博客一文多发平台 OpenWrite 发布!
相关文章
相关标签/搜索