用于Multipart/form-data的POSTMAN

pha*_*lco 9 rest spring web-services multipartform-data postman

如何使用POSTMAN for Multipart/form-data,它有自定义标题来测试我的控制器,它将2个文件作为参数(public ... controller( MultipartFile[] files))?

POST .... HTTP/1.1
.
.
.
---boundary123
Content-type:application/octet-stream
content-Disposition: form-data filenale="abc.txt" name="someuniquename"
[paylaod content](this is in xml format)
---boundary123
content-type:application/json
content-Disposition:form-data name="metadata"
{ID:"999"}
---boundary123
Run Code Online (Sandbox Code Playgroud)

Afr*_*idi 22

在此输入图像描述

在Postman中使用"Multipart/form-data"的步骤

  1. 创建一个新选项卡
  2. 插入控制器Url
  3. 将方法类型设置为POST
  4. 在" 正文"选项卡下,选择表单数据
  5. 对于作为文件的每个键,将" 类型" 设置为" 文件"

  • 我需要输入自定义标题和边界吗? (2认同)

Ste*_*org 10

我希望这将帮助其他人避免长时间的调试工作。底线是,对于某些分段上传,您只是​​运气不佳。例如,如果您需要执行多部分/相关操作,并且需要在 headers 中使用 Content-Type 来表达,Postman 无法帮助您。主要是因为邮递员仅生成随机边界,即使您添加自己的边界也是如此。困难的部分是 Postman 会声称在 Postman Console 中使用您的边界,但实际上会在调用中使用不同的边界。因此,声明的标头边界和实际使用的边界将不匹配。

下面是来自 Postman 的请求示例,可以在 Postman 控制台和 Fiddler 中查看。正如您所看到的,Fiddler 显示 Postman 实际上正在发送随机边界,其中 Postman 声称使用提供的边界。

Fiddler 与 Postman 渲染原始请求

我真的希望他们能在 Postman 中解决这个问题。至少向其展示邮递员控制台,即使他们没有解决根本问题。对于大多数 API 来说,它都是一个很棒的工具,但如果您尝试访问 DICOM 服务器并遵守它的要求……那么您就不走运了。