HttpMediaTypeNotSupportedException: Content type 'application/json;charset=UTF-8' 表示客户端尝试向服务器发送 JSON 数据,但服务器端没有支持该种媒体类型(Content Type)的处理器来接收和解析这种类型的数据。
解决方法:
①确认客户端请求的头信息中的 Content-Type 是否正确设置为 application/json。
②确认服务器端是否有相应的 HttpMessageConverter 来处理 JSON 数据。对于 Spring 框架,确保你的项目中包含了 Jackson 或 Gson 等 JSON 处理库。
③如果你正在使用 Spring Boot,确保你的项目依赖中包含了 spring-boot-starter-web,它会自动配置必要的 JSON 支持。
上面异常对应的解决方法,上面3个方法,大分部都可以解决,但是我在昨天工作中,遇到了另外一种情况,这里跟大家分享一下:
首先是百度上面的方法都试了,还是不行。
没办法了,老套路,DEBUG源码:
1、从源码中发现有相应的转换器来处理请求报文,转换后的错误原因也给了,如下:
Conflicting getter definitions for property "ID": com.example.demo.User#getId(0 params) vs com.example.demo.User#getNamae(0 params)
经过查看代码发现,
问题出来这里了。
总结一下:
1、 出了“Content type 'application/json;charset=UTF-8' not supported”异常,不急看客户端服务端的Content-Type设置,应该仔细观察日志。
2、日志有时没有打印,这时可以通过万能的DEBUG了。