자기개발/검색한 자료 정리

Java 11에서 HttpClient를 사용한 REST API 호출

실버블렛 2023. 4. 26. 07:00
반응형

Java 11에서 HttpClient를 사용한 REST API 호출

Java 11에서는 기존의 HttpURLConnection 클래스에 대한 대체제로 새로운 HttpClient 클래스를 도입했습니다. 이 글에서는 Java 11의 HttpClient를 사용하여 REST API를 호출하는 방법을 설명합니다.

HttpClient 소개

Java 11의 HttpClient는 비동기 및 동기 요청을 모두 지원하며, HTTP/2를 기본적으로 지원하는 모듈로 다음과 같은 장점이 있습니다.

  • 최신 HTTP 프로토콜 지원
  • 모던 API 디자인
  • 높은 성능
  • 동기 및 비동기 요청 처리

REST API 호출 예제

Java 11에서 HttpClient를 사용하여 REST API를 호출하는 간단한 예제를 살펴보겠습니다.

필요한 라이브러리 임포트

먼저, 필요한 라이브러리를 임포트합니다.

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

HttpClient 인스턴스 생성

HttpClient 인스턴스를 생성합니다.

HttpClient httpClient = HttpClient.newHttpClient();

HttpRequest 생성 및 설정

HttpRequest를 생성하고, 원하는 URL 및 HTTP 메서드를 설정합니다.

HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create("https://jsonplaceholder.typicode.com/posts/1"))
                .GET()
                .build();

동기 요청 수행

동기 요청을 수행하고 응답을 처리합니다.

HttpResponse<String> response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());

System.out.println(response.statusCode());
System.out.println(response.body());

비동기 요청 수행

비동기 요청을 수행하고 응답을 처리합니다.

httpClient.sendAsync(request, HttpResponse.BodyHandlers.ofString())
    .thenApply(HttpResponse::body)
    .thenAccept(System.out::println)
    .join();

결론

Java 11의 HttpClient를 사용하면 REST API 호출을 쉽게 처리할 수 있습니다. 이 글에서 소개한 예제를 참고하여, 개발자들이 일하다가 HttpClient를 사용하여 REST API 호출하는 방법을 적용할 수 있습니다.

반응형