【发布时间】:2018-09-06 05:34:52
【问题描述】:
我一直在尝试使用 RestAssured v2.9.0 发送多部分请求,但是它总是抛出错误。
控制器:
@RequestMapping(value = "/my-url", method = RequestMethod.POST, consumes = MULTIPART_FORM_DATA_VALUE)
public void saveSomething(
@RequestParam("form") MultipartFile formFields,
@RequestParam("file") MultipartFile file,
@AuthenticationPrincipal ...
放心通话:
given().header(HEADER_NAME, HEADER_VALUE)
.filter(new RequestLoggingFilter())
.multiPart(getMutliPart("{//JSON FORM FIELDS}", "form", "application/json", "blob"))
.multiPart(getMutliPart("Test-Content-In-File", "file", "text/plain", "Test.txt"))
.when()
.post("my-url");
错误信息:
org.springframework.web.multipart.support.MissingServletRequestPartException: Required request part 'form' is not present
放心日志:
Request method: POST
Request path: http://localhost:50789/my-url
Proxy: <none>
Request params: <none>
Query params: <none>
Form params: <none>
Path params: <none>
Multiparts: controlName=form, mimeType=application/json, charset=<none>, fileName=blob, content=[123, 345..blah blah]
controlName=file, mimeType=text/plain, charset=<none>, fileName=Test.txt, content==[13, 34..blah blah]
Headers: HEADER=VALUE
Accept=*/*
Content-Type=multipart/form-data
Cookies: <none>
Body: <none>
显然,Request params 是空白的,这就是错误的原因。
我也尝试在.parameters("form", mockMultipartFile) 中发送MockMultipartFile,但没有成功。
我在网上参考了很多东西,包括this,但问题仍然存在。任何指针表示赞赏。
【问题讨论】:
标签: rest-assured