반응형
자바로 HTTP 요청 처리하기: GET, POST, HEADER 예제
HTTP 통신은 현대 애플리케이션에서 서버와 클라이언트 간 데이터 교환의 핵심입니다. 자바에서는 표준 라이브러리와 외부 라이브러리를 활용하여 HTTP 요청을 쉽게 처리할 수 있습니다. 이번 글에서는 HTTP GET, POST, HEADER를 사용하는 방법과 예제를 소개합니다.
HTTP 요청의 주요 메서드
- GET: 서버에서 데이터를 가져오는 데 사용.
- POST: 서버에 데이터를 전송하는 데 사용.
- HEADER: 요청 헤더를 통해 부가 정보를 서버에 전달.
1. GET 요청
HttpClient를 이용한 GET 요청:
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class HttpGetExample {
public static void main(String[] args) {
try {
String url = "https://jsonplaceholder.typicode.com/posts/1";
HttpClient client = HttpClient.newHttpClient();
HttpRequest httpRequest = HttpRequest.newBuilder()
.uri(URI.create(url))
.GET()
.build();
HttpResponse<String> httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());
System.out.println("Response Code: " + httpResponse.statusCode());
System.out.println("Response Body: " + httpResponse.body());
} catch (Exception e) {
e.printStackTrace();
}
}
}
출력 결과: JSON 데이터를 포함한 서버 응답.
2. POST 요청
HttpClient를 이용한 POST 요청:
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class HttpPostExample {
public static void main(String[] args) {
try {
String url = "https://jsonplaceholder.typicode.com/posts";
String body = "{"title": "foo", "body": "bar", "userId": 1}";
HttpClient client = HttpClient.newHttpClient();
HttpRequest httpRequest = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());
System.out.println("Response Code: " + httpResponse.statusCode());
System.out.println("Response Body: " + httpResponse.body());
} catch (Exception e) {
e.printStackTrace();
}
}
}
출력 결과: 서버에 전송된 데이터와 응답 메시지.
3. HEADER 추가하기
HttpClient를 이용하여 헤더 추가:
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class HttpHeaderExample {
public static void main(String[] args) {
try {
String url = "https://jsonplaceholder.typicode.com/posts/1";
HttpClient client = HttpClient.newHttpClient();
HttpRequest httpRequest = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Authorization", "Bearer token123")
.GET()
.build();
HttpResponse<String> httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());
System.out.println("Response Code: " + httpResponse.statusCode());
System.out.println("Response Body: " + httpResponse.body());
} catch (Exception e) {
e.printStackTrace();
}
}
}
출력 결과: 헤더를 포함한 요청에 대한 서버 응답.
결론
자바에서는 기본 API인 HttpClient를 활용하여 간단하고 직관적으로 HTTP 요청을 처리할 수 있습니다. GET, POST, HEADER를 적절히 활용하여 애플리케이션의 요구 사항을 충족해 보세요!
반응형
'개발 부트캠프 > 백엔드' 카테고리의 다른 글
[Java] Servlet Filter (0) | 2025.01.16 |
---|---|
[Java] JSON (0) | 2025.01.16 |
[Java] SQL Injection (1) | 2025.01.10 |
[Java] 서블릿(Servlet) (0) | 2025.01.08 |
[Java] 계층형 아키텍처 패턴 (Layered Architecture Pattern) (0) | 2025.01.07 |