자바의 HTTP 통신 라이브러리

2024. 2. 9. 13:23Java

반응형

Intro

자바 1.1부터 HTTP 통신을 위한 클라이언트 라이브러리가 JDK 에 제공되었다.

HTTP 통신을 위해 제공된 라이브러리를 사용하거나, 외부 라이브러리를 추가해서 사용할 수 있다.

HttpURLConnection

// 요청 경로
URL url = new URL("<https://sampleurl.com>");

// 연결
HttpURLConnection connection = (HttpURLConnection) url.openConnection();

// 헤더, 요청 방식 설정
connection.setRequestProperty("accept", "application/json");

// 요청 생성
InputStream responseStream = connection.getInputStream();

// Json 변환 (ObjectMapper 의존성 필요)
ObjectMapper mapper = new ObjectMapper();
APOD apod = mapper.readValue(responseStream, APOD.class);

// 응답 얻기
System.out.println(apod.title);

HttpClient

// 클라이언트 객체 생성
var client = HttpClient.newHttpClient();

// 요청 생성
var request = HttpRequest.newBuilder(
    URI.create("<https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY>"))
        .header("accept", "application/json")
        .build();

// 요청 전송
var response = client.send(request, new JsonBodyHandler<>(APOD.class));

// 응답 확인
System.out.println(response.body().get().title);

Third Party Library

  • Apche HttpClient
  • OkHttp
  • Retrofit
  • REST Assured
  • cvurl
  • Feign
  • Spring RestTemplate and WebClient
  • MicroProfile Rest Client

Resources

반응형

'Java' 카테고리의 다른 글

자바의 Collection Framework  (1) 2024.02.20
자바의 메모리 관리  (1) 2024.02.13
자바의 파일 입출력  (0) 2024.02.09
자바의 객체 지향 프로그래밍  (0) 2024.02.06
자바의 캡슐화  (2) 2024.02.06