[java] 자바에서 REST 클라이언트를 구현하는 방법은 어떤 것이 있는가?
- HttpURLConnection 사용 ```java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL;
public class RestApiClient { public static void main(String[] args) { try { // REST API 요청을 보낼 URL 설정 URL url = new URL(“https://api.example.com/users”);
// HttpURLConnection 객체 생성 및 설정
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
// 응답 코드 확인
int responseCode = connection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
// 응답 데이터 읽기
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
StringBuffer response = new StringBuffer();
while ((line = reader.readLine()) != null) {
response.append(line);
}
reader.close();
// 응답 데이터 처리
System.out.println(response.toString());
} else {
// 에러 처리
System.out.println("Error: " + responseCode);
}
// 연결 종료
connection.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
} } ```
- Apache HttpClient 라이브러리 사용 ```java 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; import org.apache.http.util.EntityUtils;
public class RestApiClient { public static void main(String[] args) { try { // REST API 요청을 보낼 URL 설정 String url = “https://api.example.com/users”;
// HttpClient 객체 생성
HttpClient client = HttpClientBuilder.create().build();
// Get 요청 생성
HttpGet request = new HttpGet(url);
// 응답 수신
HttpResponse response = client.execute(request);
// 응답 코드 확인
int responseCode = response.getStatusLine().getStatusCode();
if (responseCode == 200) {
// 응답 데이터 읽기
String responseData = EntityUtils.toString(response.getEntity());
// 응답 데이터 처리
System.out.println(responseData);
} else {
// 에러 처리
System.out.println("Error: " + responseCode);
}
} catch (IOException e) {
e.printStackTrace();
}
} } ```
위의 예시 코드에서는 각각 HttpURLConnection
과 Apache HttpClient
를 사용하여 REST API를 호출하는 방법을 보여줍니다. 필요에 따라서는 다른 라이브러리를 사용할 수도 있습니다. 이 외에도 Spring Framework의 RestTemplate
이나 Retrofit과 같은 라이브러리도 사용할 수 있습니다.
참고 자료: