我知道之前在stackoverflow上询问了这个问题。但是,我还没有找到一个实际测试服务的答案,例如Postman。
我已关注documentation,我的服务与文档中描述的几乎相同:
@PostMapping("/someUrl")
public ResponseEntity<Void> uploadFile(@RequestPart(name="foo", required = false) Foo foo, @RequestPart("file") MultipartFile file) {
return new ResponseEntity<>(OK);
}
当我尝试使用Postman加热我的服务时,我收到以下错误:
org.springframework.web.multipart.MultipartException:当前请求不是多部分请求
在邮递员身上,我收到了以下回复
问题是:是否可以使用Postman来调用我的服务?如果是,我错过了哪些参数?
答案 0 :(得分:4)
是的,可以使用Postman呼叫您的服务。
不是将JSON作为文本发送,而是创建一个包含要发送的JSON数据的文件(例如 test.json ):
{
"teste": "abc"
}
然后在表单数据部分中将foo
字段的类型从文本更改为文件,并选择您已创建的JSON文件。
就是这样。点击发送,您的处理请求应该没有任何错误。
注意:标题应保留为空,即不应包含任何自定义的Content-Type值。
答案 1 :(得分:0)
在使用带有json数据的多部分文件时,看起来Postman存在一些问题。 https://github.com/postmanlabs/postman-app-support/issues/576
您可以使用curl测试您的服务,如下所示。
curl -v -H "Content-Type:multipart/form-data" -F "foo={\"teste\":\"abc\"};type=application/json" -F "file=@amazon.png" http://localhost:8080/v1/files/someURL