【发布时间】: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