2016-05-13 76 views
0

如何解決此問題?JsonIgnore不適用於彈簧

我試着給0123加上@JsonIgnore,但結果是一樣的。

POJO:

public class Category { 
    // Omitted details 

    @JsonIgnore 
    private List<Category> children; 
} 

build.gradle

'com.fasterxml.jackson.core:jackson-annotations:2.7.3' 

Spring版本:

4.2.6.RELEASE 

語境:

<bean id="jacksonMessageConverter" 
     class="org.springframework.http.converter.json.GsonHttpMessageConverter"/> 
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> 
    <property name="messageConverters"> 
     <list> 
      <ref bean="jacksonMessageConverter"/> 
     </list> 
    </property> 
</bean> 
+2

您期望GSON與傑克遜註釋工作。 –

回答

1

首先,加jackson-databind依賴:

'com.fasterxml.jackson.core:jackson-databind:2.7.3' 

可以刪除jackson-annotations,因爲它會被傳遞地解決。然後,通過類路徑上的Jackson jar,Spring MVC將自動爲您配置所需的HttpMessageConverter。所以,不需要手動註冊它們。因此,你可以放心地擺脫了以下內容:

<bean id="jacksonMessageConverter" 
     class="org.springframework.http.converter.json.GsonHttpMessageConverter"/> 
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> 
    <property name="messageConverters"> 
     <list> 
      <ref bean="jacksonMessageConverter"/> 
     </list> 
    </property> 
</bean> 

春季通常採用明確定義和長名稱爲它的抽象,所以你可以很容易地發現什麼是每個人的目的。顯然GsonHttpMessageConverter對於GsonHttpMessageConverter,而不是Jackson。結賬Spring documentation進行更詳細的討論。

+1

謝謝你,男人!很有幫助! – Arthur

1

請看看你的代碼:

<bean id="jacksonMessageConverter" 
     class="org.springframework.http.converter.json.GsonHttpMessageConverter"/> 

您需要Jackson版本轉換器

相關問題