[java] JAX-RS 서버 개발하기

JAX-RS는 Java API for RESTful Web Services의 약어로, RESTful 웹 서비스를 개발하기 위한 자바 API입니다. 이번 블로그 포스트에서는 JAX-RS를 사용하여 간단한 웹 서버를 개발하는 방법에 대해 알아보겠습니다.

개발 환경 설정하기

JAX-RS를 사용하기 위해서는 먼저 개발 환경을 설정해야 합니다. 아래의 단계를 따라 진행해주세요.

  1. Java Development Kit (JDK) 설치하기: JAX-RS는 자바로 작성된 API이므로 JDK가 설치되어 있어야 합니다. Oracle 또는 OpenJDK에서 JDK를 다운로드하여 설치해주세요.
  2. IDE 설치하기: 통합 개발 환경(IDE)는 개발을 편리하게 할 수 있는 도구입니다. IntelliJ, Eclipse, NetBeans 등의 IDE를 설치해주세요.
  3. JAX-RS 라이브러리 추가하기: JAX-RS를 사용하기 위해서는 해당 라이브러리를 프로젝트에 추가해야 합니다. Maven이나 Gradle과 같은 의존성 관리 도구를 사용하여 JAX-RS 라이브러리를 추가해주세요.

JAX-RS 서버 개발하기

이제 JAX-RS를 사용하여 간단한 웹 서버를 개발해보겠습니다. 아래의 코드를 참고하여 진행해주세요.

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

@Path("/hello")
public class HelloWorldResource {

    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String sayHello() {
        return "Hello, World!";
    }
}

위의 코드는 “/hello” 경로로 GET 요청이 들어왔을 때 “Hello, World!”를 반환하는 간단한 JAX-RS 리소스입니다. 다음으로 이 리소스를 실행할 서버를 구현해야 합니다.

import org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.server.ServerProperties;
import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
import org.glassfish.grizzly.http.server.HttpServer;

public class Main {

    public static void main(String[] args) {
        String baseUri = "http://localhost:8080/";
        ResourceConfig config = new ResourceConfig(HelloWorldResource.class);
        config.property(ServerProperties.BV_SEND_ERROR_IN_RESPONSE, true);
        HttpServer server = GrizzlyHttpServerFactory.createHttpServer(URI.create(baseUri), config);
        server.start();
    }
}

위의 코드는 Grizzly HTTP 서버를 사용하여 JAX-RS 서버를 실행하는 예제입니다. “http://localhost:8080/” 주소에서 서버를 실행하고, HelloWorldResource 클래스를 리소스로 사용하도록 설정하고 있습니다.

실행하기

서버를 실행하기 위해서는 Main 클래스의 main 메서드를 실행해주면 됩니다. 이후 브라우저나 API 테스트 도구를 사용하여 “http://localhost:8080/hello” 주소로 접속하면 “Hello, World!” 메시지가 출력됩니다.

결론

JAX-RS를 사용하면 자바로 간단한 RESTful 웹 서비스를 개발할 수 있습니다. 위의 예제 코드를 참고하여 직접 JAX-RS 서버를 개발해보고, 필요에 따라 추가 기능을 구현해보세요. 참고로 JAX-RS는 다양한 기능과 어노테이션을 제공하므로, 공식 문서와 예제를 참고하면 더 다양한 기능을 활용할 수 있습니다.

참고 자료