2013-08-06 57 views
1

我目前正在使用前端的RestyGWT和後端的Spring MVC替換我們的應用程序的基於GWT-RPC的後端到基於REST的API的原型。RestyGWT與私有領域的JSON映射可用性

我的問題發生在Java < - >兩種框架試圖自動解決的JSON類型轉換期間。我們所有的數據對象都使用私有字段,並且許多字段不提供java bean樣式設置方法。默認情況下,兩個框架都不會檢查某個類的私有字段,因此該轉換失敗。

對於Spring MVC的是足夠簡單通過添加註釋的數據對象,以解決這個問題:

@JsonAutoDetect(fieldVisibility = Visibility.ANY, getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE) 

對於RestyGWT我還沒有找到一個合適的定位。我發現唯一可用的解決方法是對所有字段和構造函數使用默認訪問,這是遠遠不夠理想的。任何人都有能夠讓RestyGWT檢查Java對象的私有字段的解決方案嗎?

回答

1

嘗試在您的字段上使用@JsonProperty和@JsonCreator(如果兩者都需要,請勿記住)。

public abstract class Parent 
{  
    @JsonCreator 
    public Parent(@JsonProperty("name") String name) 
    { 
     this.name = name; 
    } 


    public String getName() 
    { 
     return name; 
    } 

    private String name; 
}