Error message = Required MultipartFile parameter &

2019-06-27 04:01发布

问题:

Testing a spring file upload form, the controlelr signature looks like this

@RequestMapping(value = "upload", method = RequestMethod.POST)
@ResponseBody
public void upload(@RequestParam("file") MultipartFile multipartFile) {}

and the test this

final MockMultipartFile file 
  = new MockMultipartFile("content", "myFile.txt", "text/plain", "hello".getBytes());

MockHttpServletRequestBuilder mockHttpServletRequestBuilder = 
  .fileUpload("/upload/")
  .file(file)
  .accept(MediaType.APPLICATION_JSON);

but I get the aforementioned : Error message = Required MultipartFile parameter 'file' is not present

回答1:

You named the parameter as "file" and not as "content":

Change:

new MockMultipartFile("content", "myFile.txt", "text/plain", "hello".getBytes());

To:

new MockMultipartFile("file", "myFile.txt", "text/plain", "hello".getBytes());