61.5. 클라이언트 응답 필터
61.5.1. 개요 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 클라이언트 측에서 들어오는 응답 메시지를 가로채는 데 사용되는 클라이언트 응답 필터 를 구현하고 등록하는 방법을 설명합니다. 클라이언트 응답 필터는 클라이언트 측의 모든 종류의 일반 응답 처리에 사용할 수 있습니다.
61.5.2. ClientResponseFilter 인터페이스 링크 복사링크가 클립보드에 복사되었습니다!
javax.ws.rs.client.ClientResponseFilter 인터페이스는 다음과 같이 정의됩니다.
ClientResponseFilter 를 구현하면 클라이언트 측에서 ClientResponse 확장 포인트에 대한 필터를 생성하여 서버에서 수신한 후 응답 메시지를 필터링할 수 있습니다.
61.5.3. ClientResponseContext 인터페이스 링크 복사링크가 클립보드에 복사되었습니다!
ClientResponseFilter 의 필터 방법은 javax.ws.rs.client.ClientRequestContext 유형의 인수와 javax.ws.rs.client.ClientResponseContext 형식의 인수와 발신 응답 메시지 및 관련 메타데이터에 액세스하는 데 사용할 수 있는 두 가지 인수를 수신합니다. “ClientRequestContext 인터페이스”
ClientResponseContext 인터페이스는 다음과 같이 정의됩니다.
61.5.4. 샘플 구현 링크 복사링크가 클립보드에 복사되었습니다!
ClientResponse 확장 포인트(즉, 서버에서 응답 메시지를 수신한 후 필터가 실행되는 클라이언트 응답 필터)를 구현하려면 ClientResponseFilter 인터페이스를 구현하는 클래스를 정의합니다.
예를 들어 다음 코드는 priority가 20인 ClientResponse 확장 지점에 설치된 간단한 클라이언트 응답 필터의 예를 보여줍니다.
61.5.5. 클라이언트 응답 필터 등록 링크 복사링크가 클립보드에 복사되었습니다!
JAX-RS 2.0 클라이언트 API를 사용하여 javax.ws.rs.client.Client 오브젝트 또는 javax.ws.client. WebTarget 오브젝트에 클라이언트 응답 필터를 직접 등록할 수 있습니다. 효과적으로는 클라이언트 요청 필터를 선택적으로 다른 범위에 적용할 수 있으므로 필터의 특정 URI 경로만 영향을 받습니다.
예를 들어 다음 코드는 SampleClientResponseFilter 필터를 등록하는 방법을 보여주므로 client 개체를 사용하여 수행된 모든 호출에 적용됩니다.