[java] JAX-RS 클라이언트 개발하기

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의 문서나 예제를 참고하시기 바랍니다.