【问题标题】:Spring REST API: Return Default PreferencesSpring REST API:返回默认首选项
【发布时间】:2017-03-01 17:37:07
【问题描述】:

我开发了一个 Spring REST API,它从数据库 (Postgres) 中检索客户的呼叫偏好。

我有一个 CallPreferences 类,如下所示。

public class CallPreferences {
   private Boolean allowInternationalCalling;

   private Boolean allowInternationalRoaming;

   private List<DataOptions> dataOptions;

   private AutoPayPrefences autoPayPreferences;

   // getter and setters.

}

以上所有首选项都保存在表格的单个列中。表中的一行可能如下所示

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"}
                             }

我使用行映射器将数据库中的首选项映射到 POJO

当在数据库中没有找到偏好时,我想用下面的默认偏好来响应。

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

我知道我们可以在类级别初始化值,或者如果首选项 == null,我可以为每个属性设置默认值。但是想知道是否有更好的方法使用弹簧特性来做到这一点。

【问题讨论】:

  • 构造函数重载怎么样?

标签: java spring rest java-8 spring-rest


【解决方案1】:

当使用 Jaxb 生成类时,每个 List 属性都有一个 getter,如果为 null,则该属性被初始化。我认为这是编组/解组具有不可为空属性的对象的哲学。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-26
    • 2012-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-19
    相关资源
    最近更新 更多