49.2. 클라이언트 대상 빌드


49.2.1. 개요

초기 Client 인스턴스를 생성한 후 다음 단계는 요청 URI를 빌드하는 것입니다. WebTarget 빌더 클래스를 사용하면 URI 경로 및 쿼리 매개변수를 포함하여 URI의 모든 측면을 구성할 수 있습니다.

49.2.2. WebTarget 빌더 클래스

javax.ws.rs.WebTarget 빌더 클래스는 요청에 대한 REST URI를 빌드할 수 있는 fluent API의 일부를 제공합니다.

49.2.3. 클라이언트 대상 생성

WebTarget 인스턴스를 생성하려면 javax.ws.rs.client.Client 인스턴스에서 대상 메서드 중 하나를 호출합니다. 예를 들면 다음과 같습니다.

// Java
import javax.ws.rs.client.WebTarget;
...
WebTarget base = client.target("http://example.org/bookstore/");

49.2.4. 기본 경로 및 경로 세그먼트

대상 방법을 사용하여 한 번에 모두 전체 경로를 지정하거나 대상 메서드의 조합을 사용하여 기본 경로를 지정한 다음 경로 세그먼트 조각을 추가할 수 있습니다. 기본 경로와 경로 세그먼트를 결합하면 약간 다른 대상에서 여러 호출에 대해 기본 경로 WebTarget 오브젝트를 쉽게 다시 사용할 수 있다는 이점이 있습니다. 예를 들면 다음과 같습니다.

// Java
import javax.ws.rs.client.WebTarget;
...
WebTarget base = client.target("http://example.org/bookstore/");
WebTarget headers     = base.path("bookheaders");
// Now make some invocations on the 'headers' target...
...
WebTarget collections = base.path("collections");
// Now make some invocations on the 'collections' target...
...

49.2.5. URI 템플릿 매개변수

대상 경로의 구문은 URI 템플릿 매개변수도 지원합니다. 즉, template 매개변수 {param} 을 사용하여 경로 세그먼트를 초기화할 수 있으며, 이후 지정된 값으로 확인됩니다. 예를 들면 다음과 같습니다.

// Java
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.Response;
...
WebTarget base = client.target("http://example.org/bookstore/");
WebTarget books = base.path("books").path("{id}");
...
Response resp = books.resolveTemplate("id", "123").request("application/xml").get();

여기서 resolveTemplate 메서드는 경로 세그먼트 {id} 를 값 123 으로 바꿉니다.

49.2.6. 쿼리 매개변수 정의

쿼리 매개변수는 URI 경로에 추가할 수 있습니다. 여기서 쿼리 매개변수의 시작은 단일 ? 문자로 표시됩니다. 이 메커니즘을 사용하면 구문을 사용하여 일련의 이름/값 쌍을 설정할 수 있습니다. ?name1=value1&name2=value2&…​

WebTarget 인스턴스를 사용하면 다음과 같이 queryParam 메서드를 사용하여 쿼리 매개변수를 정의할 수 있습니다.

// Java
WebTarget target = client.target("http://example.org/bookstore/")
                         .queryParam("userId","Agamemnon")
                         .queryParam("lang","gr");

49.2.7. 매트릭스 매개변수 정의

매트릭스 매개변수는 쿼리 매개변수와 다소 유사하지만 널리 지원되지 않으며 다른 구문을 사용합니다. WebTarget 인스턴스에 matrix 매개변수를 정의하려면 matrixParam(String, Object) 메서드를 호출합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.