반응형
Java, 간단한 웹 API 서버 예제
정리. 수알치 오상문
컴파일 및 실행 방법 등은 코드에 있으니 참고하세요.
// Java source code
// -*- coding: UTF-8 -*-
/*
파일명: JavaApiServer.java
컴파일: javac -encoding UTF-8 JavaApiServer.java <-- 인코딩 설정 추가
실행~!: java JavaApiServer
테스트: http://localhost:8000/ping
http://localhost:8000/
*/
import com.sun.net.httpserver.HttpServer;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpExchange;
import java.io.IOException;
import java.io.OutputStream;
public class JavaApiServer {
public static void main(String[] args) throws IOException {
int port = 8000; // 포트 설정
// HttpServer 생성
HttpServer server = HttpServer.create(new java.net.InetSocketAddress(port), 0);
// API 엔드포인트 등록
server.createContext("/", new HelloHandler());
server.createContext("/ping", new PingHandler());
// 서버 시작
server.start();
System.out.println("Server is running on port " + port);
}
// '\'(루트) API 처리 클래스
static class HelloHandler implements HttpHandler {
@Override
public void handle(HttpExchange exchange) throws IOException {
String response = "Hello, World!\nJava Simple WEB API Server V1.0"; // 응답 메시지
// HTTP 응답 설정
exchange.sendResponseHeaders(200, response.getBytes().length);
OutputStream os = exchange.getResponseBody();
os.write(response.getBytes());
os.close();
}
}
// '\ping' API 처리 클래스
static class PingHandler implements HttpHandler {
@Override
public void handle(HttpExchange exchange) throws IOException {
String response = "Pong!"; // 응답 메시지
// HTTP 응답 설정
exchange.sendResponseHeaders(200, response.getBytes().length);
OutputStream os = exchange.getResponseBody();
os.write(response.getBytes());
os.close();
}
}
}
반응형
'JAVA' 카테고리의 다른 글
Hello World - Eclipse E3 Plugin Development (0) | 2024.05.04 |
---|---|
Java 자바 문법 총정리 - 1시간 (0) | 2023.06.11 |
Maven.org Central Repository 링크 (0) | 2023.04.07 |
JAVA Exception 에러 출력 처리 (0) | 2022.06.06 |
Java, PostgreSQL 연동 예제 (0) | 2022.06.06 |