camel restdsl在JacksonDataFormat中配置模块

时间:2016-12-21 09:48:38

标签: apache-camel

在camel中使用restdsl时,我可以看到如何配置某些功能:

    restConfiguration().component("jetty")
            .host("localhost")
            .port("8889")
            .bindingMode(RestBindingMode.json)
            .dataFormatProperty(....);

但无法查看如何配置杰克逊特有的模块。喜欢这些:

    <dependency>
        <groupId>com.fasterxml.jackson.module</groupId>
        <artifactId>jackson-module-parameter-names</artifactId>
        <version>2.7.5</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.datatype</groupId>
        <artifactId>jackson-datatype-jdk8</artifactId>
        <version>2.7.5</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.datatype</groupId>
        <artifactId>jackson-datatype-jsr310</artifactId>
        <version>2.6.7</version>
    </dependency>

我需要这样才能正确地序列化java.time.LocalDate。

1 个答案:

答案 0 :(得分:0)

我做的与此相关:How to configure Jackson ObjectMapper for Camel in Spring Boot

@Produces
@Named("json-jackson")
public JacksonDataFormat getjacksonDataFormat() {
    ObjectMapper mapper = new ObjectMapper();
    mapper.findAndRegisterModules();

    JacksonDataFormat formatter = new JacksonDataFormat(mapper, (Class)null);

    return formatter;
}

因为我使用的是camelcdicontext,所以在这里查找bean。 我不知道如何为例如

的defaultCamelcontext实现这一点