Http状态码406(Not Acceptable)的 问题

当使用@RestController注解在Spring MVC控制器中返回列表数据时,遇到406(Not Acceptable)错误。该错误表明请求的资源内容特性无法满足请求头的要求。解决方法是引入Jackson库进行数据转换,如添加jackson2.9.*版本,以处理Spring 5.3.*版本的兼容性问题。确保引入的包已添加到项目的lib目录下,避免因包缺失导致的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
406是指请求的资源的内容特性无法满足请求头中的条件,因而无法生成响应实体。但使用@RestController注解控制器,它的作用相当于@ResponseBody+@@Controller,意思是直接返回数据。但是SpringMVC不能直接使用@RestController返回一个列表数据时,它不会自动给你转换json,会报错我的理解就是请求返回的数据与响应请求的页面的数据有数据格式冲突,需要转换数据格式。然后网上就说是需要引入jacksonjar包。
maven导入如下包:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.*.*</version>
</dependency>
<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-databind</artifactId>
  <version>2.*.*</version>
</dependency>
<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-annotations</artifactId>
  <version>2.*.*</version>
</dependency>

注意:

  1. spring和jackson有版本冲突问题,就会报错nested exception is java.lang.NoClassDefFoundError:com/fasterxml/jackson/databind/exc/InvalidDefinitionException,我使用的spring 5.3.*的话,可以引入jackson2.9.*的包,其他版本的话可以自行升降jackson的包。
  2. 在maven中导包后还需将包引入WEB-INF下的lib目录中,不然也会报错。
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值