springboot接收复杂参数(同时接收JSON与文件)

我们平时传递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);
    }

springboot接收复杂参数(同时接收JSON与文件)_第1张图片

注意传参方式,json字符串要设置Content-Type,application/json有些场景不生效,可以用application/problem+json。

springboot接收复杂参数(同时接收JSON与文件)_第2张图片
@RequestPart与@RequestParam,功能更强于后者,既支持multipart/form-data又支持json、xml等格式的参数,等于是multipart/form-data格式中的key可以为各种格式。

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