2016-07-06 14 views
0

を無視しては、私はJSONを返すコントローラを持っている:Spring MVCの3 JSONシリアライザバックアップフィールドを返すとカプセル化

public class ResourcesModel { 
    private boolean showLeft;  

    public boolean getShowLeft(){ 
     return getPage() > 1; 
    } 

    public void setShowLeft(boolean b) { /*doesn't do anything*/ } 
} 

showLeft、バッキングフィールドなし:ここ

public @ResponseBody ResourcesModel data(@PathVariable(value = "id") long id, @PathVariable(value = "page") int page){ 
    //populate model 
} 

は、モデルの関連部分がありますシリアル化されません。シリアライゼーション中、フィールドを調べてゲッターを無視します。私はこれは非常に迷惑な...カプセル化のポイントは無視されている場合は何ですか?

私はコントローラにshowLeftを設定するような回避策があることを知っていますが、これを避けて適切なオブジェクト指向を使用したいと思います。シリアライザのヒントを与えるための提案はありますか?

答えて

0

私はちょうどあなたがフィールドshowLeft注釈

public class ResourcesModel { 
    private boolean showLeft;  

    public boolean getShowLeft(){ 
     return getPage() > 1; 
    } 
    @JsonSetter 
    public void setShowLeft(boolean b) { /*doesn't do anything*/ } 
} 
に@JsonSetterを追加することが必要であることを考えます
関連する問題