【发布时间】:2017-09-15 00:27:05
【问题描述】:
在 Dropwizard 的 Configuration 类中,如果我的 yml 文件缺少字段,Dropwizard 不会记录任何内容,也不会引发任何错误/异常。
如果配置文件缺少必需的配置,如何让它抛出错误并无法启动?
【问题讨论】:
标签: java configuration jackson dropwizard
在 Dropwizard 的 Configuration 类中,如果我的 yml 文件缺少字段,Dropwizard 不会记录任何内容,也不会引发任何错误/异常。
如果配置文件缺少必需的配置,如何让它抛出错误并无法启动?
【问题讨论】:
标签: java configuration jackson dropwizard
您可以将required=true 放在构造函数参数上的@JsonProperty 注释中(而不是字段本身)。
例子:
public class MyConfiguration extends Configuration {
@NotNull
private final String hostname;
public MyConfiguration(
@JsonProperty(value="hostname", required=true) String hostname) {
this.hostname = hostname;
}
// Getters, etc
}
【讨论】:
@notnull注解没有用吗?我认为它也会通过错误,如果我们尝试传递空值或 Yml 文件中缺少字段。
@NotNull 它不会记录或抛出任何错误。