JAX-RS는 Java에서 RESTful 웹 서비스를 개발하기 위한 API입니다. 이번 포스트에서는 JAX-RS 클라이언트를 개발하는 방법에 대해 알아보겠습니다.
1. JAX-RS 클라이언트 라이브러리 추가하기
JAX-RS 클라이언트를 개발하기 위해서는 클라이언트 라이브러리를 추가해야 합니다. Maven을 사용하는 경우, pom.xml
파일에 다음 의존성을 추가하세요.
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.32</version>
</dependency>
Gradle을 사용하는 경우, build.gradle
파일에 다음 종속성을 추가하세요.
implementation 'org.glassfish.jersey.core:jersey-client:2.32'
2. 클라이언트 인스턴스 생성하기
JAX-RS 클라이언트를 사용하기 위해 Client
인스턴스를 생성해야 합니다. Client
는 JAX-RS 클라이언트의 핵심 인터페이스입니다. 다음은 클라이언트 인스턴스를 생성하는 코드입니다.
Client client = ClientBuilder.newClient();
3. GET 요청 보내기
클라이언트로 GET 요청을 보내려면 target()
메서드를 사용하여 요청 대상 URI를 지정하고, request()
메서드를 사용하여 요청을 생성해야 합니다. 다음은 GET 요청을 보내는 예시 코드입니다.
WebTarget target = client.target("https://api.example.com/users");
Response response = target.request().get();
4. 응답 처리하기
클라이언트로부터 받은 응답은 Response
객체로 나타내어집니다. 응답의 정보를 확인하기 위해 Response
객체의 메서드를 사용할 수 있습니다. 예를 들어, 응답의 상태 코드를 확인하려면 getStatus()
메서드를 사용합니다.
int statusCode = response.getStatus();
5. POST 요청 보내기
POST 요청을 보내려면 target()
메서드와 request()
메서드에 URI를 지정하고, post(Entity.entity(payload, MediaType.APPLICATION_JSON))
메서드를 사용하여 요청을 생성해야 합니다. 다음은 POST 요청을 보내는 예시 코드입니다.
WebTarget target = client.target("https://api.example.com/users");
Response response = target.request()
.post(Entity.entity(payload, MediaType.APPLICATION_JSON));
6. 클라이언트 종료하기
클라이언트를 사용한 후에는 리소스를 해제해야 합니다. close()
메서드를 사용하여 클라이언트를 종료할 수 있습니다.
client.close();
위의 가이드를 따라하면 JAX-RS 클라이언트를 개발하는 데 필요한 기본적인 기능을 익힐 수 있습니다. 추가적인 기능은 JAX-RS의 문서나 예제를 참고하시기 바랍니다.