有沒有辦法為 Jackson 反序列化器提供來自“外部”(例如 DI 容器)的默認(rèn)值,該默認(rèn)值將在反序列化對(duì)象(在本例中為 tagRegistry)時(shí)使用? @JsonCreator public ExtractionRule(@JsonProperty("id") String id, TagRegistry tagRegistry) { this.id = id; this.tagRegistry = tagRegistry; }我找不到一個(gè)簡(jiǎn)單的方法來做到這一點(diǎn)。
1 回答

鴻蒙傳說
TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊
你可以嘗試@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);
我還沒有嘗試在構(gòu)造函數(shù)中使用它,不確定這是否有效。
添加回答
舉報(bào)
0/150
提交
取消