我正在尝试使用spring 4.2.4版本获取JSON数据。这是我控制器中的代码;
@RequestMapping(value="/getmessage",method=RequestMethod.GET,produces="application/json")
@ResponseBody
public Map<String,Object> getMessage(Principal prinicipal){
List<Message>message=null;
if(prinicipal==null){
message=new ArrayList<Message>();
}
else{
String username=prinicipal.getName();
message=usersService.getMessage(username);
}
Map<String,Object> data= new HashMap<String,Object>();
data.put("message", message);
data.put("number", message.size());
return data;
}
问题是我收到错误:HTTP状态406:“此请求标识的资源只能根据请求”接受“标题生成具有不可接受特征的响应。”
你平常的帮助吗?
答案 0 :(得分:0)
该问题与杰克逊版本有关。 要解决此问题,请删除以下内容:
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.13</version>
</dependency>
从您的pom文件中输入以下内容:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.6.3</version>
</dependency>