【发布时间】:2021-04-13 10:46:34
【问题描述】:
我有一个用例,我从多个主题中消费,并且基于主题我必须从字符串创建一个对象。我有大约 25 个主题导致 25 种对象。因此,我不想使用一堆 if-else,而是想使用一个映射,其中键将是主题名称。 所以,与其这样做,
if(topic.equals("testTopic") {
Event event = mapper.readValue(strMessage, TestEvent.class);
}
我想这样做
Event event = mapper.readValue(strMessage, map.get(topic));
Event是所有类都实现的接口,topic会存储topic名称。
这就是我创建 ObjectMapper 的方式 -
ObjectMapper mapper = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
我怎样才能做到这一点?提前致谢
【问题讨论】:
标签: java spring-boot jackson spring-kafka