首页 > 基础资料 博客日记

解决SpringBoot中@RequestBody不能和Multipart同时传递的问题

2023-07-24 15:35:28基础资料围观456

Java资料网推荐解决SpringBoot中@RequestBody不能和Multipart同时传递的问题这篇文章给大家,欢迎收藏Java资料网享受知识的乐趣

问题描述

今天在做文件上传的时候,遇到了这么一个错误日志:

Resolved[org.springframework.web.HttpMediaTypeNotSupportedException: Content type ‘multipart/form-data;boundary=--------------------------771899451541318130280588;charset=UTF-8’ not supported]

分析问题

从日志中可以发现,好像是因为@RequestBody不能和MultipartFile一起使用。

这是因为我需要的是json的数据类型,但是传了json数据的同时也传了其它类型的值,很明显我就是又传了MultipartFile文件类型参数。

后来经过我大量搜索和测试,这里基本上是敲定了下面的结论:

@RequestBody不能和Multipart同时用

解决问题

如果想用解决这种问题,我目前想到的办法就是不使用@RequestBody和Multipart一起操作,既然需要的是json-body的格式,那么我们就可以反其道而行之,使用form-data的格式

需要和前端约定好方式,最好不要完全自己定义!

简单调整下代码:

重启服务,这下就要改下传参方式了:

可以发现,问题解决。

总结

虽然问题解决了。但是不太符合我的初衷,我的初衷还是希望使用@RequestBody进行传递参数而不是改变已有的方式

碍于时间问题,先把这个问题问题放一放,后面我会继续尝试,如果有新的突破,再回来更新

虽然这种方式不是特别的友好,但是也是可以解决问题的。

希望可以帮助到您!


文章来源:https://blog.csdn.net/weixin_46713508/article/details/129172790
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐

标签云