94장. YAML DSL
Camel 3.9 이후
YAML DSL은 Camel 경로, 경로 템플릿 및 YAML의 REST DSL 구성을 정의하는 기능을 제공합니다.
94.1. 경로 정의 링크 복사링크가 클립보드에 복사되었습니다!
경로는 다음과 같이 정의된 요소 컬렉션입니다.
여기서,
각 단계는 필드 이름이 EIP 이름인 단일 항목이 있는 YAML 맵을 나타냅니다.
일반적으로 각 단계는 관련 정의가 선언하는 모든 매개 변수를 제공하지만 몇 가지 사소한 차이점/확장 사항이 있습니다.
- 출력 알림 단계
필터 및
표현식과 일치할 때 또는 분할 식에 의해 생성된 항목에 대해 자체 파이프라인을 갖습니다. 분할
과 같은 일부 단계는 교환이 필터steps
필드에서 이러한 파이프라인을 정의할 수 있습니다.
- 표현 단계
filter
및 split
과 같은 일부 EIP는 표현식 필드를 통해 표현식 정의를 지원합니다.
명시적 표현식 필드
filter: expression: simple: "${in.header.continue} == true"
filter:
expression:
simple: "${in.header.continue} == true"
DSL을 덜 상세히 표시하려면 표현식
필드를 생략하면 됩니다.
암시적 표현식 필드
filter: simple: "${in.header.continue} == true"
filter:
simple: "${in.header.continue} == true"
일반적으로 위의 예제 내에서와 같이 인라인을 정의할 수 있지만 더 많은 정보를 제공해야 하는 경우 표현식 정의를 '롤링'하고 표현식에서 정의하는 모든 단일 매개 변수를 구성할 수 있습니다.
전체 표현식 정의
filter: tokenize: token: "<" end-token: ">"
filter:
tokenize:
token: "<"
end-token: ">"
- 데이터 형식 인식 단계
EIP marshal
및 Unmarshal
에서는 데이터 형식의 정의를 지원합니다.
marshal: json: library: Gson
marshal:
json:
library: Gson
data-format의 기본 설정을 사용하려면 빈 블록을 json: {}
과 같은 데이터 형식 매개변수로 배치해야 합니다.