1. 错误场景
在使用 Postman 测试文件上传的时候发生的一次错误。原来是想要把普通属性和文件一起上传到后台,然后使用一个实体类进行接收。后台请求使用的 @PostMapping,一直都发不出去,报错 Unsupported Media Type
![在这里插入图片描述](https://img-blog.csdnimg.cn/79eb50d160914ad88b2b7c2094589b25.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASldBU1g=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/22900cda33444ef685722e844b68bda4.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASldBU1g=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/969054ecccf249708ea6a4c7d4c86265.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASldBU1g=,size_20,color_FFFFFF,t_70,g_se,x_16)
到网上查了好久都没有查到结果,最后在检查 Controller 代码的时候发现自己用了个 @RequestBody 注解,到网上查了查,这个注解用在接收前端的 json 数据的,而发送文件的 Content-Type 要设置成 multipart/form-data。所以就导致接收不了
2. 解决方法
去掉 @RequestBody 就可以了
![在这里插入图片描述](https://img-blog.csdnimg.cn/e8d22258aceb4511882a3c27bfbf2254.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASldBU1g=,size_20,color_FFFFFF,t_70,g_se,x_16)