繁体   English   中英

SpringBoot:如何将蛇案例转换为骆驼案例

[英]SpringBoot: How to convert snake case to camelCase

我在一个项目中,我们通过 Java(1.8 LTS)和 Kafka 通过 Spring Cloud Stream 使用 SpringBoot。 我通过云 stream 得到一个事件,我坚持到 mongoDB。

我的StreamListener看起来像这样:

@StreamListener(MessagingChannels.BLA_CHANNEL)
public void onIncomingEvent(
EventContent eventContent,
@Header(name = uuid) UUID messageId
) {
    doStuffWith(eventContent);
}

EventContent如下所示:

@ToString
@AllArgsConstructor
@Getter
@JsonNaming
public class EventContent {
private final String dataString1;
private final String dataString2;
...
private final Object details;
}

我的问题是,细节 object 可能会有所不同,生产者可能会有其他键/值对。 一些生产者以snake_case 发送他们的数据,但我想将其始终保存在camelCase 中。 所以@JsonNaming做得很好,但遗憾的是不能传递细节 object。

这里容错很重要,所以如果这里出现问题,应该将其发送到 DLQ。

有人知道我是怎么做到的吗? 也许有一个 spring 魔术注释的简单方法,我不知道 - spring 的新手:)

非常感谢!!

您应该配置两个不同的 objectMapper:一个用于带有 objectMapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE) 的 Kafka,另一个用于不带此选项的 MongoDB。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM