2.41. JSLT
JSLT를 사용하여 JSON 페이로드를 쿼리하거나 변환합니다.
2.41.1. 내부 내용 링크 복사링크가 클립보드에 복사되었습니다!
-
JSLT 구성 요소, URI 구문:
jslt:resourceUri
사용 및 설정 세부 사항은 위의 링크를 참조하십시오.
2.41.2. Maven 조정 링크 복사링크가 클립보드에 복사되었습니다!
code.quarkus.redhat.com에서 이 확장 기능을 사용하여 새 프로젝트를 생성합니다.
또는 기존 프로젝트에 좌표를 추가합니다.
<dependency> <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-jslt</artifactId> </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-jslt</artifactId>
</dependency>
2.41.3. 기본 모드에서 allowContextMapAll 옵션 링크 복사링크가 클립보드에 복사되었습니다!
allowContextMapAll
옵션은 보안에 민감한 camel Core 클래스에 반영 액세스가 필요하기 때문에 기본 모드에서 지원되지 않습니다
. 이는 보안 위험으로 간주되므로 기능에 대한 액세스는 기본적으로 제공되지 않습니다.
2.41.4. 추가 Camel Quarkus 구성 링크 복사링크가 클립보드에 복사되었습니다!
2.41.4.1. 기본 모드에서 classpath에서 JSLT 템플릿 로드 링크 복사링크가 클립보드에 복사되었습니다!
이 구성 요소는 일반적으로 classpath에서 템플릿을 로드합니다. 네이티브 모드에서도 작동하도록 하려면 quarkus.native.resources.includes
속성을 사용하여 네이티브 실행 파일에 템플릿 파일을 명시적으로 포함해야 합니다.
예를 들어 아래 경로는 transformation.json
이라는 classpath 리소스에서 JSLT 스키마를 로드합니다.
from("direct:start").to("jslt:transformation.json");
from("direct:start").to("jslt:transformation.json");
네이티브 이미지에 이( .json
파일에 저장된 다른 템플릿)를 포함하려면 다음과 같은 항목을 application.properties
파일에 추가해야 합니다.
quarkus.native.resources.includes = *.json
quarkus.native.resources.includes = *.json
2.41.4.2. 기본 모드에서 JSLT 함수 사용 링크 복사링크가 클립보드에 복사되었습니다!
기본 모드에서 JSLT 함수를 사용할 때 함수를 호스팅하는 클래스는 리플렉션을 위해 등록되어야 합니다. target 함수를 등록할 수 없는 경우 다음과 같이 스텁을 작성할 수 있습니다.
대상 함수 Math.pow(…)
는 이제 다음과 같이 구성 요소에 등록할 수 있는 MathFunctionStub
클래스를 통해 액세스할 수 있습니다.