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 메서드를 구현하도록 지정합니다.