Web Services 多部分/表单数据的POSTMAN

bz4sfanl  于 2022-11-15  发布在  Postman
关注(0)|答案(4)|浏览(203)

如何使用POSTMAN的多部分/表格数据,其中有自定义的标题测试我的控制器,其中采取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
sigwle7e

sigwle7e1#

在Postman中使用***'多部分/表单数据'步骤
1.创建新选项卡
1.插入控制器URL
1.将方法类型设置为POST
1.在
正文选项卡下,选择表单数据
*
1.对于作为文件的每个键,将Valuetype设置为File

6rqinv9w

6rqinv9w2#

我希望这能帮助其他人避免长时间的调试工作。底线是,对于一些多部分上传,你只是运气不好。例如,如果你需要做多部分/相关,并需要在标题中用内容类型来表达, Postman 不能帮助你。主要是因为 Postman 只生成一个随机边界,即使您添加了自己的边界,也是如此。困难的部分是Postman会声称在Postman控制台中使用您的边界,但实际上在调用中使用的是不同的边界。因此声明的头部边界和实际使用的边界将不匹配。
这里有一个来自Postman的请求的例子,在Postman Console和Fiddler中都可以看到。正如你所看到的,Fiddler显示Postman实际上是在发送一个随机的边界,而Postman声称使用提供的边界。

我真的希望他们能在Postman中修复这个问题。至少在Postman Console中显示它,即使他们没有修复潜在的问题。对于大多数API来说,它是一个很好的工具,但是如果你试图访问DICOM服务器,并且遵守它......你就不走运了。

ki1q1bka

ki1q1bka3#

对于Postman来说,这是一个很久以前就知道的问题。如果你有一个设置,比如说一部分使用文本或JSON,而另一部分使用图片,这可能会有点棘手。关键是将Content-Type Header设置为multipart/mixed,然后将所有内容转换为文件。如果是文本,你可以忽略“将其转换为文件”的步骤:)
在上留下此评论:https://github.com/postmanlabs/postman-app-support/issues/1104

忍者更新:不确定这是否对其他人有帮助,但对于在单个多部分POST请求中上载多个文件类型/内容类型的特定情况,有一种解决方法。

1.将标题Content-Type设置为multipart/mixed
1.在Body中选择form-data选项。
1.将所有项目转换为文件。字符串内容应转换为文本文件等。
1.通过选择file添加每个文件,并添加一个键名。
这种方法实际上并不需要手动指定每个Content-TypeContent-Disposition。这里的技巧是将所有相关内容序列化为一个持久化文件类型。希望这能对大家有所帮助!

svmlkihl

svmlkihl4#

这个视频描述了如何使用postman来发布multipart/form-data。我上传了一个文本文件,内容类型为multipart/form-data。

相关问题