后端接口封装@RequestBody和文件上传同时提交

当后端的接口即需要传递文件(MultipartFile)和数据时,总是会出现请求失败,后面发现我上传到的数据用的是@RequestBody注解,而@RequestBody注解对应的类型是application/json,文件上传注解用的是@MultipartFile注解,而文件MultipartFile对应的类型是multipart/form-data,这两种格式不兼容,所以无论怎么写都是调用失败的。 

请求结果 

 解决办法:

取消@RequestBody注解,把MultipartFile文件属性字段请求封装在vo类中,vo类为整个前端上传的内容。

 接口封装成一个vo参数,不要加@RequestBody注解,以下是controller层接口展示:

         然后这里一定要注意,千万不能使用swagger测试,swagger它不支持多文件上传接口调试,总是报错,这里很坑,博主亲身体验。推荐用postman测试,当然其他工具也可以,还有就是要注意图上三个地方,编辑内容,设置为text格式,将需要传的参数设置好,文件上传选择类型为文件,添加需要上传的文件。

猜你喜欢

转载自blog.csdn.net/qq_56728342/article/details/125700856