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

http://cxf.apache.org/blueprint/jaxrs-client

Spring

http://cxf.apache.org/jaxrs-client

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>