2017-03-01 5 views
0

私は、データベース(Postgres)から顧客の呼び出し設定を取得するSpring REST APIを開発しました。Spring REST API:デフォルトの設定を返す

私は以下のようにCallPreferencesのクラスを持っています。

public class CallPreferences { 
    private Boolean allowInternationalCalling; 

    private Boolean allowInternationalRoaming; 

    private List<DataOptions> dataOptions; 

    private AutoPayPrefences autoPayPreferences; 

    // getter and setters. 

} 

上記のすべての設定は、表の1つの列に保存されます。テーブルの行は、私がデータベースに見つかりませ好みがない場合、私はで応答したい

POJOに、データベース内のプリファレンスをマッピングするために、行マッパーを使用

Customer_Id | customer_preferneces 
10112  | "preferences": {"allowInternationalCalling": false, 
          "allowInternationalRoaming": true, 
          "dataOptions": ["plan" : "4GLTE", 
             "data-limit" : "10GB" ], 
          "autoPay": {"payment-option" : "creditcard", 
             "payment-date": "2nd every month", 
             "reminder": "email"} 
          } 

以下のようになりますデフォルトの設定を以下に示します。

"preferences": { 
    "allowInternationalCalling": true, 
    "allowInternationalRoaming": true, 
    "dataOptions": [], 
    "autoPay": {} 
} 

は、私たちはただクラスレベルで値を初期化することができることを知っているか、好みが== nullの場合、私は、各プロパティのデフォルト値を設定することができます。しかし、春の機能を使ってこれを行うより良い方法があるのだろうかと思っています。

+0

コンストラクタのオーバーロードはどうですか? – jitsonfire

答えて

0

Jaxbでクラスを生成する場合、すべてのリスト属性には、nullの場合に属性が初期化されることをアサートするゲッターがあります。私はこれがヌル可能な属性を持つオブジェクトをマーシャリング/アンマーシャリングする哲学だと思う。

関連する問題