49.5. 클라이언트 끝점 구성
49.5.1. 개요
기능 및 공급자를 등록하고 구성하여 기본 javax.ws.rs.client.Client
오브젝트의 기능을 보강할 수 있습니다.
49.5.2. 예제
다음 예제에서는 로깅 기능, 사용자 지정 엔터티 공급자 및 prettyLogging 속성을 true로 설정하도록 구성된 클라이언트를 보여줍니다.The following example shows a client configured to have a logging feature, a custom entity provider, and to set the prettyLogging
property to true
:
// Java import javax.ws.rs.client.ClientBuilder; import javax.ws.rs.client.Client; import org.apache.cxf.feature.LoggingFeature; ... Client client = ClientBuilder.newClient(); client.register(LoggingFeature.class) .register(MyCustomEntityProvider.class) .property("LoggingFeature.prettyLogging","true");
49.5.3. 오브젝트 등록을 위한 구성 가능한 API
Client
클래스는 register
메서드의 여러 변형을 제공하는 오브젝트 등록에 대한 Configurable
API를 지원합니다. 대부분의 경우 다음 예와 같이 클래스 또는 개체 인스턴스를 등록합니다.
client.register(LoggingFeature.class) client.register(new LoggingFeature())
레지스터
변형에 대한 자세한 내용은 구성 가능
에 대한 참조 설명서를 참조하십시오.
49.5.4. 고객에게 무엇을 설정할 수 있습니까?
클라이언트 끝점의 다음 측면을 구성할 수 있습니다.
- 기능
- 공급자
- 속성
- 필터
- 인터셉터
49.5.5. 기능
javax.ws.rs.core.Feature
는 실제로 JAX-RS 클라이언트에 추가 기능 또는 기능을 추가하는 플러그인입니다. 종종 기능은 필요한 기능을 제공하기 위해 하나 이상의 인터셉터를 설치합니다.
49.5.6. 공급자
공급자는 매핑 기능을 제공하는 특정 유형의 클라이언트 플러그인입니다. JAX-RS 2.0 사양은 다음과 같은 종류의 공급자를 정의합니다.
- 엔터티 공급자
- 엔터티 공급자 는 Java 유형에서 특정 미디어 유형 간 매핑 기능을 제공합니다. 자세한 내용은 49.4절. “요청 및 응답 구문 분석” 에서 참조하십시오.
- 예외 매핑 공급자
-
예외 매핑 공급자 는 확인된 런타임 예외를
응답
인스턴스에 매핑합니다. - 컨텍스트 공급자
- 컨텍스트 공급자는 서버 측에서 리소스 클래스 및 기타 서비스 공급자에 컨텍스트를 제공하는 데 사용됩니다.
49.5.7. 필터
JAX-RS 2.0 필터는 메시지 처리 파이프라인의 다양한 지점(extension 포인트)에서 URI, 헤더 및 기타 컨텍스트 데이터에 액세스할 수 있는 플러그인입니다. 자세한 내용은 61장. JAX-RS 2.0 필터 및 인터셉터의 내용을 참조하십시오.
49.5.8. 인터셉터
JAX-RS 2.0 인터셉터는 요청 또는 응답의 메시지 본문에 읽거나 쓰는 대로 액세스할 수 있는 플러그인입니다. 자세한 내용은 61장. JAX-RS 2.0 필터 및 인터셉터의 내용을 참조하십시오.
49.5.9. 속성
클라이언트에 속성을 하나 이상 설정하여 등록된 기능 또는 등록된 공급자의 구성을 사용자 지정할 수 있습니다.By setting one or more properties on the client, you can customize the configuration of a registered feature or a registered provider.
49.5.10. 기타 구성 가능한 유형
javax.ws.rs.client.Client(및
) 오브젝트를 구성할 뿐만 아니라 javax.ws.rs.client.Client
BuilderWebTarget
오브젝트도 구성할 수 있습니다. WebTarget
개체의 구성을 변경하면 새 WebTarget
구성을 제공하기 위해 기본 클라이언트 구성이 깊이 복사됩니다. 따라서 원래 Client
개체의 구성을 변경하지 않고 WebTarget
오브젝트의 구성을 변경할 수 있습니다.