在Dropwizard中,我有一个Configuration
子类,看起来像这样:
public class UserApplicationConfiguration extends Configuration {
...
public UserApplicationConfiguration(
@JsonProperty("externalServerUrl") String externalServerUrl,
@JsonProperty("externalServerPort") int externalServerPort
) {
this.externalServerUrl = externalServerUrl;
this.externalServerPort = externalServerPort;
}
...
}
问题是;我应该使用@JsonCreator
?
代码按原样运行,并且YAML文件被正确解析但我认为构造函数看起来像一个创建者并且觉得它可能应该被注释为。
编辑:如果相关,我使用Dropwizard版本0.7.0。
答案 0 :(得分:2)
@JsonCreator
只能注释一个Constructor
而且,如果只有一个构造函数,则不需要注释。
所以如果你需要一些构造函数,你应该只为jackson注释一个构造函数
对于Dropwizard,您不需要注释,因为没有必要自己实例化Configuration
类。
答案 1 :(得分:1)
不,你不需要。我想,你甚至不需要那些@JsonProperty
。 Yaml解析器总是使用字段/参数名称尝试getter和setter,然后使用构造函数。