46장. 리소스 생성
초록
RESTful 웹 서비스에서 모든 요청은 리소스에서 처리합니다. JAX-RS API는 Java 클래스로 리소스를 구현합니다. 리소스 클래스는 하나 이상의 JAX-RS 주석이 추가된 Java 클래스입니다. JAX-RS를 사용하여 구현된 RESTful 웹 서비스의 코어는 루트 리소스 클래스입니다. root 리소스 클래스는 서비스에서 노출하는 리소스 트리의 진입점입니다. 모든 요청을 처리할 수도 있고 요청을 처리하는 하위 리소스에 대한 액세스를 제공할 수 있습니다.
46.1. 소개
46.1.1. 개요
JAX-RS API를 사용하여 구현된 RESTful 웹 서비스는 Java 클래스에서 구현하는 리소스의 표현으로 응답을 제공합니다. 리소스 클래스 는 JAX-RS 주석을 사용하여 리소스를 구현하는 클래스입니다. 대부분의 RESTful 웹 서비스의 경우 액세스해야 하는 리소스 컬렉션이 있습니다. 리소스 클래스의 주석은 리소스의 URI와 같은 정보와 각 작업에서 처리하는 HTTP 동사 정보를 제공합니다.
46.1.2. 리소스 유형
JAX-RS API를 사용하면 두 가지 기본 유형의 리소스를 만들 수 있습니다.
-
46.3절. “루트 리소스 클래스” 은 서비스의 리소스 트리를 가리키는 진입점입니다. 서비스에서 리소스의 기본 URI를 정의하기 위해
@Path
주석으로 장식됩니다. -
46.5절. “하위 리소스 작업” root 리소스를 통해 액세스합니다. 이는
@Path
주석으로 장식되는 메서드에 의해 구현됩니다. 하위 리소스의@Path
주석은 루트 리소스의 기본 URI를 기준으로 URI를 정의합니다.
46.1.3. 예제
예 46.1. “간단한 리소스 클래스” 간단한 리소스 클래스를 보여줍니다.
예 46.1. 간단한 리소스 클래스
package demo.jaxrs.server; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; @Path("/customerservice") public class CustomerService { public CustomerService() { } @GET public Customer getCustomer(@QueryParam("id") String id) { ... } ... }
두 가지 항목은 예 46.1. “간단한 리소스 클래스” 에 정의된 클래스를 리소스 클래스로 설정합니다.
@Path
주석은 리소스의 기본 URI를 지정합니다.
@GET
주석은 메서드가 리소스에 대한 HTTP GET
메서드를 구현하도록 지정합니다.