有沒(méi)有辦法為 Jackson 反序列化器提供來(lái)自“外部”(例如 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)單的方法來(lái)做到這一點(diǎn)。
1 回答

鴻蒙傳說(shuō)
TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊
你可以嘗試@JacksonInject。將此成員添加到 ExtractionRule 類(lèi):
@JacksonInject("tagRegistry")
private TagRegistry tagRegistry;
并在反序列化之前將 tagRegistry 注入到 ObjectMapper 中:
?InjectableValues.Std injectableValues = new InjectableValues.Std();
?injectableValues.addValue("tagRegistry", tagRegistry);
?ObjectMapper objectMapper = new ObjectMapper();
?objectMapper.setInjectableValues(injectableValues);
我還沒(méi)有嘗試在構(gòu)造函數(shù)中使用它,不確定這是否有效。
添加回答
舉報(bào)
0/150
提交
取消