SpringBoot中@RequestBody不能和Multipart同时传递的问题解决
问题描述
今天在做文件上传的时候,遇到了这么一个错误日志:


分析问题
从日志中可以发现,好像是因为@RequestBody不能和MultipartFile一起使用。
这是因为我需要的是json的数据类型,但是传了json数据的同时也传了其它类型的值,很明显我就是又传了MultipartFile文件类型参数。
后来经过我大量搜索和测试,这里基本上是敲定了下面的结论:
@RequestBody不能和Multipart同时用
解决问题
如果想用解决这种问题,我目前想到的办法就是不使用@RequestBody和Multipart一起操作,既然需要的是json-body的格式,那么我们就可以反其道而行之,使用form-data的格式
需要和前端约定好方式,最好不要完全自己定义!
简单调整下代码:


重启服务,这下就要改下传参方式了:
可以发现,问题解决。

总结
虽然问题解决了。但是不太符合我的初衷,我的初衷还是希望使用@RequestBody进行传递参数而不是改变已有的方式
碍于时间问题,先把这个问题问题放一放,后面我会继续尝试,如果有新的突破,再回来更新
虽然这种方式不是特别的友好,但是也是可以解决问题的。
到此这篇关于SpringBoot中@RequestBody不能和Multipart同时传递的问题解决的文章就介绍到这了,更多相关SpringBoot @RequestBody和Multipart传递内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
分页技术原理与实现之Java+Oracle代码实现分页(二)
这篇文章主要介绍了分页技术原理与实现的第二篇:Java+Oracle代码实现分页,感兴趣的小伙伴们可以参考一下2016-06-06
Spring @Value如何通过${}、#{}注入不同类型的值
这篇文章主要介绍了Spring @Value如何通过${}、#{}注入不同类型的值问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-05-05


最新评论