IntelliJ IDEA 模拟 POST方式 上传文件
IntelliJ IDEA 集成了 HTTP Request,再没有postman的场景下,也可以很方便地模拟各种 HTTP 请求方式的场景。
如下示例是今天遇到的 POST方式 模拟上传文件接口的调用,分享给大家,仅供参考。
在 File --> New --> 菜单列表的最下方可以找到 HTTP Request
(个人的IDEA是 2020.2.4 版本,不同版本的IDEA,HTTP Request 的位置可能会有点差异)
1、新建HTTP Request
(POST 请求方式)
2、请求示例
POST http://10.150.210.21:8080/services/workorder/instance/uploadAttachment Content-Type: multipart/form-data; boundary=WebAppBoundary X-Auth-Token: c3efefd6e930451f8ed56ae7386157a0 --WebAppBoundary Content-Disposition: form-data; name="instanceId" Content-Type: text/plain 155 --WebAppBoundary Content-Disposition: form-data; name="type" Content-Type: text/plain 1 --WebAppBoundary Content-Disposition: form-data; name="userId" Content-Type: text/plain 9de90ca4048141caaba1ec4e3afa868e --WebAppBoundary Content-Disposition: form-data; name="files"; filename="Lark20201204183701.png" Content-Type: image/png < C:/Users/Administrator/Desktop/Lark20201204183701.png --WebAppBoundary--
【说明】
1、特别注意:
示例中的红色部分需要注意!
示例中的红色部分需要注意!
示例中的红色部分需要注意!
2、因为是上传文件,所以请求头里要有 Content-Type: multipart/form-data
3、如果有其他参数,比如:instanceId = 155,需要按照示例中的格式,变量值和变量名所在行之间至少要空有一行用于区分(建议空出一行,看着比较整齐)
4、< C:/Users/Administrator/Desktop/Lark20201204183701.png 表示上传 C:/Users/Administrator/Desktop/ 目录下名为 Lark20201204183701.png 的图片文件
5、图片类型用 Content-Type: image/png 表示;或者不写也可以,默认会自动识别
6、第二行中的 boundary 表示参数和参数值定义范围的起始边界线,对应的默认值是 WebAppBoundary,也可以自定义,比如:WebAppBoundary123。
但是,一定要确保后续书写变量范围的时候,和自定义的保持一致!!否则,请求会报错!!
7、边界线值在用的时候,语法上规定要在边界值前加上两个英文的中划线(--),并且一定要左对齐!
举例如下(boundary=WebAppBoundary123 也是可以的,只要注意下面用到的时候,保持一致即可!):
POST http://10.150.210.21:8080/services/workorder/instance/uploadAttachment Content-Type: multipart/form-data; boundary=WebAppBoundary123 X-Auth-Token: c3efefd6e930451f8ed56ae7386157a0 --WebAppBoundary123 Content-Disposition: form-data; name="instanceId" Content-Type: text/plain 155 --WebAppBoundary123 Content-Disposition: form-data; name="type" Content-Type: text/plain 1 --WebAppBoundary123 Content-Disposition: form-data; name="userId" Content-Type: text/plain 9de90ca4048141caaba1ec4e3afa868e --WebAppBoundary123 Content-Disposition: form-data; name="files"; filename="Lark20201204183701.png" Content-Type: image/png < C:/Users/Administrator/Desktop/Lark20201204183701.png --WebAppBoundary123--
3、请求效果
http请求文件内容
请求返回结果
PS:
Postman 模拟 POST方式 上传文件,可以参考如下博文: