HTTP状态406:Spring JSON请求

时间:2016-02-22 22:38:41

标签: json spring

我正在尝试使用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:“此请求标识的资源只能根据请求”接受“标题生成具有不可接受特征的响应。”

你平常的帮助吗?

1 个答案:

答案 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>