@RequestBody :是以json形式传参
@RequestPart : 传文件类型时使用
我们有时候需要同时传json和文件,这个时候就需要两个都用,但是java后端程序接收数据时就无法判断参数格式,下面我列一下我的解决方法,大佬们如果有更好的方法,欢迎留言
1.首先,前端传参的时候把数据以form-data的格式,例如Postman演示
这样分别把入参和文件放在对应位置
2.后端接收时可以都用@RequestPart接收,例如
@PostMapping("/announcement")
public Result insertAnnouncement(@RequestPart(value = "announcementFile", required = false) MultipartFile[] announcementFile,
@RequestPart("jsonAnnouncement") @Validated AnnouncementInsertRecDto announcementInsertRecDto, BindingResult bindingResult) {
//插入附件
createFile(announcementFile, result);
return result;
}
这样就可以两者都接收了,文件支持数组和单个文件