RESTful 웹 서비스는 클라이언트 및 서버 간에 자원을 주고 받는 데 사용되는 아키텍처 스타일입니다. 이 아키텍처를 구현하기 위해 Java에서 Jersey 프레임워크를 사용할 수 있습니다. Jersey는 Java에서 RESTful 웹 서비스를 쉽게 구축하고 관리할 수 있도록 도와주는 강력한 도구입니다. 이제 Java Jersey를 사용하여 RESTful 웹 서비스를 구축하는 방법에 대해 알아보겠습니다.
Jersey 설치
Jersey를 사용하기 위해 먼저 필요한 라이브러리를 다운로드하고 프로젝트에 추가해야 합니다. 메이븐(Maven)을 사용하는 경우 pom.xml
파일에 다음 의존성을 추가합니다:
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.30</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.30</version>
</dependency>
Gradle을 사용하는 경우, build.gradle
파일에 다음 의존성을 추가합니다:
implementation 'org.glassfish.jersey.containers:jersey-container-servlet:2.30'
implementation 'org.glassfish.jersey.media:jersey-media-json-jackson:2.30'
의존성을 추가한 후 프로젝트를 업데이트하여 Jersey를 설치합니다.
RESTful 웹 서비스 구축하기
-
자원 클래스 작성하기
자원 클래스는 RESTful 웹 서비스에서 제공할 자원을 나타내는 클래스입니다. 이 클래스에는 HTTP 요청에 응답하는 메서드가 포함되어야 합니다. 예를 들어,
UserResource
클래스를 작성하여 사용자 자원을 나타낼 수 있습니다:import javax.ws.rs.*; import javax.ws.rs.core.MediaType; @Path("users") public class UserResource { // GET /users/{userId} @GET @Path("{userId}") @Produces(MediaType.APPLICATION_JSON) public User getUser(@PathParam("userId") int userId) { // 사용자 정보를 조회하는 로직 작성 User user = //... return user; } // POST /users @POST @Consumes(MediaType.APPLICATION_JSON) public void createUser(User user) { // 사용자 생성 로직 작성 } // PUT /users/{userId} @PUT @Path("{userId}") @Consumes(MediaType.APPLICATION_JSON) public void updateUser(@PathParam("userId") int userId, User user) { // 사용자 업데이트 로직 작성 } // DELETE /users/{userId} @DELETE @Path("{userId}") public void deleteUser(@PathParam("userId") int userId) { // 사용자 삭제 로직 작성 } }
-
서버 클래스 작성하기
서버 클래스는 웹 서비스를 실행하고 관리하는 역할을 담당합니다. 이 클래스에는
main
메서드가 있어야 합니다. 예를 들어,MainServer
클래스를 작성하여 서버를 실행할 수 있습니다:import org.glassfish.jersey.server.ResourceConfig; import org.glassfish.jersey.servlet.ServletContainer; public class MainServer { public static void main(String[] args) { ResourceConfig config = new ResourceConfig(UserResource.class); ServletContainer container = new ServletContainer(config); // 서버 실행 JettyHttpContainerServerFactory.createServer("http://localhost:8080/", container); } }
-
웹 서버 실행
작성한 서버 클래스를 실행하여 RESTful 웹 서비스를 시작할 수 있습니다. 웹 서버가 실행되면
UserResource
클래스에 정의한 경로를 통해 자원에 접근할 수 있습니다.이제 Java Jersey를 사용하여 RESTful 웹 서비스를 구축하는 방법에 대해 알아보았습니다. Jersey를 사용하면 쉽고 효과적으로 RESTful 웹 서비스를 구현할 수 있습니다. 자세한 내용은 Jersey 공식 문서를 참조하세요.