我们平时传递json用@RequestBody接收,上传文件用@RequestParam接收,如果要同时上传两者,用前面的注解就办不到了,这时候可以用@RequestPart代替。
代码示例
@PostMapping(value = "test")
public R test(@RequestPart TestData data, MultipartFile file){
log.info("数据{},文件{}",data,file.getOriginalFilename());
return R.ok().data("data",data);
}
注意传参方式,json字符串要设置Content-Type,application/json有些场景不生效,可以用application/problem+json。
@RequestPart与@RequestParam,功能更强于后者,既支持multipart/form-data又支持json、xml等格式的参数,等于是multipart/form-data格式中的key可以为各种格式。