2013-10-20 89 views
4

我很難讓@JsonIgnore與雲端點一起工作。@JsonIgnore與雲端點

如果我從@ com.google.appengine.repackaged.org.codehaus.jackson.annotate.JsonIgnore將@JsonIgnore添加到我的getter,則該屬性被成功抑制。 (但後來我得到討厭的'警告錯誤',我的應用程序可能會中斷)

但是,當我將@JsonIgnore從jackson-core-asl-1.9.11.jar切換到org.codehaus.jackson.annotate時,Generate雲終端客戶端庫忽略我的@JsonIgnore註釋,並創建模型類與我試圖壓制的屬性。

任何想法?

回答

3

不要使用@JsonIgnore,使用@ApiResourceProperty代替:

@ApiResourceProperty提供了提供了資源 屬性如何在API中暴露更多的控制。您可以在屬性獲取者 或setter上使用它來從API資源中省略屬性。如果該字段是專用字段,您也可以在字段本身使用 ,以在 API中公開它。您還可以使用此批註在API資源中更改屬性 的名稱。

@ApiResourceProperty(ignored = AnnotationBoolean.TRUE) 
public String getBin() { 
    return bin; 
} 
+1

如何處理來自第三方庫的遺留類。我需要排除一些無法序列化的getter,甚至不需要 – ZiglioUK

+0

我認爲重寫該getter並添加註釋,但我不能,因爲它被標記爲final。當然,應該有一個簡單的方法告訴傑克遜跳過一些或所有的公共獲得者(混合?) – ZiglioUK