spring引导表单数据请求Map,包含多个文件和spring参数

pw9qyyiw  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(311)

我应该如何用多个文件和字符串参数Map表单数据请求?
请求如下,用户可以上传多个文件,每个文件都属于用户(data param中的用户数据数组,data中有 file (每个对象中的参数)

这里的数据应该Map到 User

public class User {
    private String email;
    private String fileName;

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getFileName() {
        return fileName;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName;
    }
}

请求Map应该是

@PostMapping(path = ExpertRestURI.EXPERT_SKILL, produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
    public ResponseEntity saveData(@ModelAttribute List<MultipartFile> files, @Valid List<User> users)

这是行不通的,对于这种情况有没有其他的解决方案/建议?

vatpfxk5

vatpfxk51#

public ResponseEntity saveData(@RequestPart(value= "file") MultipartFile[] files, @Valid @RequestPart(value = "data") List<User> users)

你应该叫 Postman 钥匙 file 并将数据值更改为

[
    { "email": "email",
      "fileName" "file1"
    },

    { "email": "email2",
      "fileName" "file12"
    }
 ]

相关问题