postman 同时传送json数据和文件

相信很多人都遇到过需要同时提交json数据和文件的情况。在网上找了很多资料都没有用,最终终于解决了。所以在这里记录下来,希望能够帮助到大家。

为了能够方便说明,在这里用了一个简单的上传笔记的例子。

为了能够同时提交json数据和文件,我们需要一个DTO定义数据的传递形式。
我们的笔记除了笔记文件之外,还有题目和描述。(记得添加get和set方法)

public class NoteDTO {
    private String description;

    private String title;

    private MultipartFile multipartFile;
}

在controller中的方法中用@ModelAttribute注解来标识数据传输对象。

@RequestMapping(value = "/uploadNote", method = RequestMethod.POST, consumes = "multipart/form-data")
public CommonResult uploadNote(@ModelAttribute NoteDTO noteDTO, HttpSession session)
 
  

用get方法就能获得传输的文件。

        MultipartFile multipartFile = noteDTO.getMultipartFile();

在POSTMAN中可以通过以下参数来进行测试。
postman 同时传送json数据和文件_第1张图片


更新
不过这样传的话会引起一个问题,就是对传送的JSON数据进行数据类型的判断。
这就要看各位自己的决断了,可以修改逻辑把文件和JSON数据分开传递,或者把数据的验证工作放在前端来做。

你可能感兴趣的:(json,spring)