자바의 HTTP 통신 라이브러리
2024. 2. 9. 13:23ㆍJava
반응형
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 |