2.33. Jackson


JSON으로의 Marshal ScanSettings 및 Jackson을 사용한

2.33.1. 내부 내용

사용 및 설정 세부 사항은 위의 링크를 참조하십시오.

2.33.2. Maven 조정

code.quarkus.redhat.com에서 이 확장 기능을 사용하여 새 프로젝트를 생성합니다.

또는 기존 프로젝트에 좌표를 추가합니다.

<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-jackson</artifactId>
</dependency>
Copy to Clipboard Toggle word wrap

2.33.3. 사용법

2.33.3.1. Jackson ObjectMapper구성

jacksonDataFormat 에서 사용하는 ObjectMapper 를 구성하는 몇 가지 방법이 있습니다. 이러한 내용은 아래에 설명되어 있습니다.

2.33.3.1.1. ObjectMapper 는 JacksonDataFormat에 의해 내부적으로 생성

기본적으로 JacksonDataFormat 은 자체 ObjectMapper 를 만들고 DataFormat 에 다양한 구성 옵션을 사용하여 추가 Jackson 모듈을 구성합니다.

2.33.3.1.2. Custom ObjectMapper for JacksonDataFormat

다음과 같이 사용자 정의 ObjectMapper 인스턴스를 JacksonDataFormat 에 전달할 수 있습니다.

import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.jackson.JacksonDataFormat;

public class Routes extends RouteBuilder {
    public void configure() {
        ObjectMapper mapper = new ObjectMapper();
        JacksonDataFormat dataFormat = new JacksonDataFormat();
        dataFormat.setObjectMapper(mapper);
        // Use the dataFormat instance in a route definition
        from("direct:my-direct").marshal(dataFormat)
    }
}
Copy to Clipboard Toggle word wrap
2.33.3.1.3. jackson DataFormat에서 Quarkus Jackson ObjectMapper 사용

Quarkus Jackson 확장에서는 JacksonDataFormat 에서 검색할 수 있는 ObjectMapper CDI 빈을 노출합니다.

import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.jackson.JacksonDataFormat;

public class Routes extends RouteBuilder {
    public void configure() {
        JacksonDataFormat dataFormat = new JacksonDataFormat();
        // Make JacksonDataFormat discover the Quarkus Jackson `ObjectMapper` from the Camel registry
        dataFormat.setAutoDiscoverObjectMapper(true);
        // Use the dataFormat instance in a route definition
        from("direct:my-direct").marshal(dataFormat)
    }
}
Copy to Clipboard Toggle word wrap

Camel REST DSL에서 JSON 바인딩 모드를 사용하고 있고 Quarkus Jackson ObjectMapper 를 사용하려는 경우 다음과 같이 수행할 수 있습니다.

import org.apache.camel.builder.RouteBuilder;

@ApplicationScoped
public class Routes extends RouteBuilder {
    public void configure() {
        restConfiguration().dataFormatProperty("autoDiscoverObjectMapper", "true");
        // REST definition follows...
    }
}
Copy to Clipboard Toggle word wrap

ObjectMapperCustomizer 를 사용하여 Quarkus ObjectMapper 에서 사용자 정의를 수행할 수 있습니다.

import com.fasterxml.jackson.databind.ObjectMapper;
import io.quarkus.jackson.ObjectMapperCustomizer;

@Singleton
public class RegisterCustomModuleCustomizer implements ObjectMapperCustomizer {
    public void customize(ObjectMapper mapper) {
        mapper.registerModule(new CustomModule());
    }
}
Copy to Clipboard Toggle word wrap

또한 @Inject the Quarkus ObjectMapper 를 사용하여 JacksonDataFormat 에 전달할 수 있습니다.

import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.jackson.JacksonDataFormat;

@ApplicationScoped
public class Routes extends RouteBuilder {
    @Inject
    ObjectMapper mapper;

    public void configure() {
        JacksonDataFormat dataFormat = new JacksonDataFormat();
        dataFormat.setObjectMapper(mapper);
        // Use the dataFormat instance in a route definition
        from("direct:my-direct").marshal(dataFormat)
    }
}
Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat