46장. 리소스 생성
초록
RESTful 웹 서비스에서 모든 요청은 리소스에서 처리합니다. Cryostat-RS API는 리소스를 Java 클래스로 구현합니다. 리소스 클래스는 하나 이상의 Cryostat-RS 주석이 있는 Java 클래스입니다. Cryostat-RS를 사용하여 구현된 RESTful 웹 서비스의 핵심은 루트 리소스 클래스입니다. 루트 리소스 클래스는 서비스에서 노출하는 리소스 트리의 진입점입니다. 모든 요청 자체를 처리할 수도 있고, 요청을 처리하는 하위 리소스에 대한 액세스를 제공할 수도 있습니다.
46.1. 소개
46.1.1. 개요
Cryostat-RS API를 사용하여 구현된 RESTful 웹 서비스는 Java 클래스로 구현된 리소스의 표현으로 응답을 제공합니다. 리소스 클래스는 Cryostat-RS 주석을 사용하여 리소스를 구현하는 클래스입니다. 대부분의 RESTful 웹 서비스의 경우 액세스해야 하는 리소스 컬렉션이 있습니다. 리소스 클래스의 주석은 리소스의 URI 및 각 작업에서 처리하는 HTTP 동사와 같은 정보를 제공합니다.
46.1.2. 리소스 유형
Cryostat-RS API를 사용하면 두 가지 기본 유형의 리소스를 생성할 수 있습니다.
-
46.3절. “루트 리소스 클래스” 는 서비스의 리소스 트리에 대한 진입점입니다.
@Path
주석으로 데코레이팅되어 서비스의 리소스에 대한 기본 URI를 정의합니다. -
46.5절. “하위 리소스 작업” 루트 리소스를 통해 액세스할 수 있습니다.
@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
메서드를 구현하도록 지정합니다.