Java Jersey는 RESTful 웹 서비스를 개발하기 위한 프레임워크로, 다양한 데이터 형식을 지원합니다. 이 중에서 JSON 형식의 응답을 처리하는 방법에 대해 알아보겠습니다.
의존성 추가
먼저, 프로젝트에 Jersey와 JSON 지원 라이브러리를 추가해야 합니다. Maven을 사용하는 경우, 아래와 같이 pom.xml
파일에 의존성을 추가합니다.
<dependencies>
<!-- Jersey -->
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.34</version>
</dependency>
<!-- JSON 지원 -->
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.34</version>
</dependency>
</dependencies>
의존성을 추가한 후, Maven이나 Gradle을 사용하여 프로젝트를 빌드해야 합니다.
JSON 응답 처리하기
JSON 응답을 처리하기 위해, Jersey에서 제공하는 @Produces
어노테이션을 사용합니다. 해당 어노테이션을 사용하여 리소스 메소드가 JSON 형식의 응답을 생성한다고 지정할 수 있습니다.
예를 들어, 아래는 /users
경로로 GET 요청을 받고, JSON 형식의 응답을 생성하는 예제입니다.
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.util.ArrayList;
import java.util.List;
@Path("/users")
public class UserResource {
@GET
@Produces(MediaType.APPLICATION_JSON)
public Response getUsers() {
List<User> users = new ArrayList<>();
// 사용자 정보 조회 로직
return Response.ok(users).build();
}
}
위의 예제에서 @Produces(MediaType.APPLICATION_JSON)
는 /users
경로로 들어오는 GET 요청에 대해 JSON 응답을 생성한다는 것을 의미합니다. Response.ok(users)
는 users
객체를 JSON으로 변환하여 응답으로 보내는 것을 나타냅니다.
테스트하기
위의 예제를 실행하여 JSON 응답이 제대로 처리되는지 테스트할 수 있습니다.
테스트를 위해 다음과 같은 JSON 형식의 응답을 받을 수 있는 클라이언트를 사용하거나, 웹 브라우저를 통해 /users
경로로 접속해보세요.
[
{
"id": 1,
"name": "John Doe"
},
{
"id": 2,
"name": "Jane Smith"
}
]
결론
Java Jersey에서 JSON 응답을 처리하는 방법을 알아보았습니다. @Produces
어노테이션을 사용하여 JSON 형식을 생성하고, Response.ok()
를 통해 응답을 전송할 수 있습니다. 이를 활용하여 RESTful 웹 서비스에서 JSON 응답을 손쉽게 처리할 수 있습니다.
References
- Jersey - User Guide
- Jersey Client/User Guide
- Jakarta JSON Processing
- JSON with Jersey
- Java - JSON 튜토리얼