天天看點

SpringMVC使用@ResponseBody報406錯誤的分析和解決辦法

使用了@ResponseBody注解 并傳回了一個map後出現406錯誤

看一下@ResponseBody的作用:@responseBody注解的作用是将controller的方法傳回的對象通過适當的轉換器轉換為指定的格式之後,寫入到response對象的body區,通常用來傳回JSON資料或者是XML資料

當我使用@ResponseBody并傳回Map時,SpringMVC會使用内部的MessageConverters将map解析為json資料,而轉換為json需要對應的實作

解決辦法: 引入maven依賴:

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

若沒有使用maven,請根據依賴中的artifactId搜尋對應jar包引入項目中