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

请求结果 

 解决办法:

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

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

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

 

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐