解决主流办法没能HttpMediaTypeNotAcceptableException: No acceptable representation问题

问题描述:

        写web项目时遇到一些小问题,前端请求后端死活报406错误问题,一些网络上主流的方法试过之后仍然无法解决问题。

问题分析:

        @RestController会在返回结果时直接返回对象,再由Spring将对象转为json,如果结果对象没有get方法,就会报以上错误。

        但是,406错误原因是多样的,一些主流的解决办法网上能搜到,我这里只列举这一种特殊情况。

解决步骤:

1.检查方法的返回对象是否含有get方法。

2。如果返回对象中没有get方法,若启用了lombok注解开发,则直接加上@Data

如果以上方法没有解决问题,则请仔细查看浏览器控制台中网络请求的各种header是否正确

仔细比对请求头和响应头,大概率会是这里的问题

  • 12
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
org.springframework.web.HttpMediaTypeNotAcceptableException: No acceptable representation是一个Spring框架中的异常,表示没有可接受的表示形式。这个异常通常在处理HTTP请求时出现,表示服务器无法提供与客户端请求的媒体类型相匹配的响应。 解决这个异常的方法有以下几种: 1. 检查请求头中的Accept字段:这个异常通常是由于客户端请求的媒体类型与服务器支持的媒体类型不匹配导致的。可以通过检查请求头中的Accept字段来确定客户端请求的媒体类型,然后与服务器支持的媒体类型进行比较,确保二者匹配。 2. 检查控制器方法的返回类型:这个异常通常是由于控制器方法返回的数据类型与客户端请求的媒体类型不匹配导致的。可以检查控制器方法的返回类型,确保它与客户端请求的媒体类型相匹配。 3. 使用合适的媒体类型转换器:Spring框架提供了许多媒体类型转换器,用于将控制器方法返回的数据转换为客户端请求的媒体类型。可以使用合适的媒体类型转换器来确保控制器方法返回的数据能够正确地转换为客户端请求的媒体类型。 4. 检查依赖项:这个异常有时也可能是由于缺少必要的依赖项导致的。可以检查项目的依赖项,确保所有必要的依赖项都已正确添加。 以下是一个使用Spring框架解决org.springframework.web.HttpMediaTypeNotAcceptableException: No acceptable representation异常的示例代码: ```java @RestController public class MyController { @GetMapping(value = "/data", produces = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity<Data> getData() { // 返回数据 } } ``` 在上面的示例中,使用`produces`属性指定了控制器方法返回的数据类型为JSON,这样就可以确保返回的数据能够正确地转换为客户端请求的媒体类型。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值