多部分/表单数据的 POSTMAN

新手上路,请多包涵

如何将 POSTMAN 用于具有自定义标头的 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

原文由 phalco 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 883
2 个回答

在此处输入图像描述

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

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

原文由 Afridi 发布,翻译遵循 CC BY-SA 3.0 许可协议

我希望这会帮助其他人避免长时间的调试工作。底线是,对于一些分段上传,你只是运气不好。例如,如果你需要做 multipart/related,并且需要在 Headers 中用 Content-Type 来表达,Postman 就帮不了你了。这主要是因为 Postman 仅生成一个随机边界,即使您添加了自己的边界也是如此。困难的部分是 Postman 会 声称 在 Postman 控制台中使用您的边界,但实际上会在调用中使用不同的边界。因此声明的头部边界和实际使用的边界将不匹配。

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

原始请求的 Fiddler 与 Postman 渲染

我真的希望他们在 Postman 中解决这个问题。至少向它展示 Postman 控制台,即使他们没有解决根本问题。对于大多数 API 来说,它是一个很好的工具,但如果你试图攻击 DICOM 服务器,并与之兼容……那你就不走运了。

原文由 Steven Borg 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题