Intellij Idea 在IntelliJ集成http客户端中使用脚本形成请求体

ljsrvy3e  于 2023-08-03  发布在  其他
关注(0)|答案(1)|浏览(152)

在pseudo-whish-language中,这是我试图在IntelliJ集成http客户端中实现的:

POST {{basepath}}/upload
Content-Type: application/json

{
  "content": "{% btoa(await fetch('my-file.dat')) %}"
}

字符串
通常情况下,可以使用以下方法来上传原始文件或作为多部分请求的一部分:

< my-file.dat


但在我的例子中,二进制文件必须封装在json中,并使用base64进行编码。我尝试将文件放入变量中,但我找不到在发送请求之前运行脚本(用于设置变量)的方法,并且似乎不可能直接将脚本用作请求的一部分。我也不确定我是否能够从脚本访问外部文件。
我不能像Add file to multipart form request in IntelliJ HTTP Client中建议的那样以multipart发送它,因为我的服务器不接受非json请求。
我是否有任何其他选项,或者这是这个http客户端缺少的功能?

ux6nzvsh

ux6nzvsh1#

我做了一些技巧来实现类似的东西。

  • 我创建了一个环境变量,将数据解析为base64格式。
{
  "dev": {
    "png_image_base64": "--your format data in bae64--"
   }
}

字符串

  • 然后,我在HTTP请求中添加了这个引用。
### ADD FILE TO TRACKING
POST http://localhost/files
Content-Type: application/json
Authorization: Bearer {{personal_access_token}}

{
  "file": "{{png_image_base64}}"
}

  • 最后,使用dev environment运行请求。

x1c 0d1x的数据
您可以创建许多具有不同内容文件的var:pdf_base64png_bas464等。取决于你的需求。“坏事情”是你需要解析手动这些文件中的每一个,但只解析一次;之后,你可以在JSON上使用它并执行许多测试。

相关问题