有没有办法为 Jackson 反序列化器提供来自“外部”(例如 DI 容器)的默认值,该默认值将在反序列化对象(在本例中为 tagRegistry)时使用? @JsonCreator public ExtractionRule(@JsonProperty("id") String id, TagRegistry tagRegistry) { this.id = id; this.tagRegistry = tagRegistry; }我找不到一个简单的方法来做到这一点。
1 回答
鸿蒙传说
TA贡献1865条经验 获得超7个赞
你可以尝试@JacksonInject。将此成员添加到 ExtractionRule 类:
@JacksonInject("tagRegistry")
private TagRegistry tagRegistry;
并在反序列化之前将 tagRegistry 注入到 ObjectMapper 中:
InjectableValues.Std injectableValues = new InjectableValues.Std();
injectableValues.addValue("tagRegistry", tagRegistry);
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setInjectableValues(injectableValues);
我还没有尝试在构造函数中使用它,不确定这是否有效。
添加回答
举报
0/150
提交
取消