18.2. JAX-RS 클라이언트 엔드 포인트 구성
18.2.1. JAX-RS Client Endpoint 정의
18.2.1.1. 클라이언트 프록시 삽입
XML 언어(Blueprint XML 또는 Spring XML)에서 클라이언트 프록시 빈을 인스턴스화하는 기본 방법은 클라이언트 프록시를 사용하여 REST 서비스를 호출할 수 있는 다른 빈에 삽입하는 것입니다. XML에서 클라이언트 프록시 빈을 생성하려면 jaxrs:client
요소를 사용합니다.
18.2.1.2. 네임스페이스
JAX-RS 클라이언트 끝점은 서버 끝점의 다른 XML 네임스페이스를 사용하여 정의합니다. 다음 표에서는 어떤 XML 언어에 사용할 네임스페이스를 보여줍니다.
XML 언어 | 클라이언트 끝점의 네임스페이스 |
---|---|
Blueprint | |
Spring |
18.2.1.3. 기본 클라이언트 끝점 정의
다음 예제에서는 Blueprint XML 또는 Spring XML에서 클라이언트 프록시 빈을 생성하는 방법을 보여줍니다.
<jaxrs:client id="restClient" address="http://localhost:8080/test/services/rest" serviceClass="org.apache.cxf.systest.jaxrs.BookStoreJaxrsJaxws"/>
기본 클라이언트 끝점을 정의하려면 다음 속성을 설정해야 하는 위치입니다.
id
- 클라이언트 프록시의 빈 ID를 사용하여 XML 구성의 다른 빈에 클라이언트 프록시를 삽입할 수 있습니다.
주소
- address 속성은 REST 호출의 기본 URL을 지정합니다.
serviceClass
-
serviceClass
속성은 루트 리소스 클래스를 지정하여 REST 서비스에 대한 설명을 제공합니다(@Path
에서 주석 처리됨). 실제로 이 클래스는 서버 클래스이지만 클라이언트에서 직접 사용하지는 않습니다. 지정된 클래스는 클라이언트 프록시를 동적으로 구성하는 데 사용되는 해당 메타데이터(Java 리플렉션 및 JAX-RS 주석을 통해)에만 사용됩니다.
18.2.1.4. 헤더 지정
다음과 같이 jaxrs:headers
하위 요소를 사용하여 클라이언트 프록시의 호출에 HTTP 헤더를 추가할 수 있습니다.
<jaxrs:client id="restClient" address="http://localhost:8080/test/services/rest" serviceClass="org.apache.cxf.systest.jaxrs.BookStoreJaxrsJaxws" inheritHeaders="true"> <jaxrs:headers> <entry key="Accept" value="text/xml"/> </jaxrs:headers> </jaxrs:client>