SpringMVC返回JSON数据时报406错误代码

问题描述

 在SSM框架进行开发的时候,为了简便我们更多的使用注解方式,而不会使用配置文件的方式!当我们在Controller返回json类型数据到view的时候,通常使用@ResponseBody表示该方法返回值以json格式返回。然而有时候已经写了该注解当运行的时候会报406错误代码!(注:406 (不接受) 无法使用请求的内容特性响应请求的网页

解决方案

我们通常会忽略是否缺少jar包,因为发现代码和控制台都没有错误。但是使用@Responsebody注解将Controller的方法返回的对象通过适当的转换器转换为指定的格式的时候找不到转换的时候,找不到jackson的方法,所以就无法返回指定的json格式!我们只要在pom.xml文件中填加缺失的jar就可以了
<!-- @ResponseBody json转换所需jackson包 -->
		                <dependency>
		    <groupId>org.codehaus.jackson</groupId>
		    <artifactId>jackson-core-asl</artifactId>
		    <version>1.9.13</version>
		</dependency>
		<dependency>
		    <groupId>org.codehaus.jackson</groupId>
		    <artifactId>jackson-mapper-asl</artifactId>
		    <version>1.9.13</version>
		</dependency>
@ResponseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据,需要注意,在使用此注解之后不会再走视图处理器,而是直接将数据写入到输入流中,他的效果等同于通过response对象输出指定指定格式的数据。

猜你喜欢

转载自blog.csdn.net/kimihuancsdn/article/details/81031007