Http 如何使用Spring Boot上载多个文件并使用cURL进行测试

Http 如何使用Spring Boot上载多个文件并使用cURL进行测试,http,curl,file-upload,spring-boot,Http,Curl,File Upload,Spring Boot,我已经实现了一个控制器来上传多个文件: public class Image implements Serializable { private MultipartFile file; private Ingeger imageNumber; ... } @RequestMapping(value = "/upload", method = RequestMethod.POST) public void handleFileUpload(@RequestBody Set

我已经实现了一个控制器来上传多个文件:

public class Image implements Serializable {
    private MultipartFile file;
    private Ingeger imageNumber;
    ...
}

@RequestMapping(value = "/upload", method = RequestMethod.POST)
public void handleFileUpload(@RequestBody Set<Image> images) {
   ...
}
我需要以三种方式扩展它,但不知道正确的语法:

  • 发布JSON项的集合
  • 为每个项目添加字段“imageNumber”
  • 最棘手的部分:添加一个嵌套到每个项目的文件

  • 我用数组而不是嵌套文件的集合来解决它

    爪哇:

    卷曲:


    我用数组而不是嵌套文件的集合来解决它

    爪哇:

    卷曲:

    curl http://localhost:8080/upload -X POST -F 'file=@1.jpg;type=image/jpg' -H "Content-Type: multipart/form-data"
    
    @RequestMapping(value = "/upload", method = RequestMethod.POST)
    public void handleFileUpload(@RequestParam MultipartFile[] images, @RequestParam Integer[] numbers) {
       ...
    }
    
    curl http://localhost:8080/upload -X POST \
    -F 'files=@1.jpg;type=image/jpg' \
    -F 'numbers=1' \
    -F 'files=@2.jpg;type=image/jpg' \
    -F 'numbers=2' \
    -F 'files=@3.jpg;type=image/jpg' \
    -F 'numbers=3'