[java] HttpClient를 사용하여 RESTful API 호출하는 방법은?

여러분 안녕하세요! 이번 포스트에서는 HttpClient를 사용하여 RESTful API를 호출하는 방법에 대해 알아보겠습니다.

HttpClient는 Java에서 제공하는 라이브러리로, 웹 서버와 통신하기 위한 다양한 기능을 제공합니다. RESTful API를 호출하기 위해서는 HttpClient를 사용하여 HTTP 요청을 생성하고, 이를 원격 서버로 전송해야 합니다. 아래는 간단한 예제 코드입니다.

import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.HttpClientBuilder;

public class RestClient {
    public static void main(String[] args) throws Exception {
        String apiUrl = "https://api.example.com/users/1";
        
        HttpClient httpClient = HttpClientBuilder.create().build();
        HttpGet request = new HttpGet(apiUrl);
        
        HttpResponse response = httpClient.execute(request);
        
        int statusCode = response.getStatusLine().getStatusCode();
        System.out.println("HTTP Status Code: " + statusCode);
        
        // 응답 본문 출력
        BufferedReader reader = new BufferedReader(
                new InputStreamReader(response.getEntity().getContent()));
        String line;
        while ((line = reader.readLine()) != null) {
            System.out.println(line);
        }
        
        httpClient.close();
    }
}

위 예제에서는 HttpClient를 생성하고, GET 요청을 생성하는 방법을 보여줍니다. apiUrl 변수에 호출하려는 RESTful API의 URL을 저장한 후, HttpClient를 사용하여 HttpGet 요청을 만들어서 실행합니다. 응답으로 받은 결과는 getStatusLine 메소드를 사용해 상태 코드를 확인하고, getContent 메소드를 사용하여 응답 본문을 읽어옵니다.

물론 POST, PUT, DELETE 등 다른 HTTP 메소드를 사용할 수도 있으며, 필요에 따라 요청 헤더나 요청 본문을 추가할 수도 있습니다.

이상으로 HttpClient를 사용하여 RESTful API를 호출하는 방법에 대해 알아보았습니다. 필요에 따라 HttpClient의 다양한 기능을 활용하여 원하는 API 호출을 구현해보세요. 참고로 HttpClient는 JDK에서 제공되지 않기 때문에, pom.xml 또는 build.gradle에 해당 라이브러리를 추가해야 합니다.

참고 자료:

감사합니다!