46.3. 루트 리소스 클래스


46.3.1. 개요

루트 리소스 클래스는 RESTful 웹 서비스를 구현하는 JAX-RS의 진입점입니다. 서비스에서 구현하는 리소스의 루트 URI를 지정하는 @Path 로 장식됩니다. 해당 메서드는 리소스에 대한 작업을 직접 구현하거나 하위 리소스에 대한 액세스를 제공합니다.

46.3.2. 요구 사항

클래스를 루트 리소스 클래스가 되기 위해서는 다음 기준을 충족해야 합니다.

  • 클래스는 @Path 주석으로 장식되어야 합니다.

    지정된 경로는 서비스에서 구현하는 모든 리소스의 루트 URI입니다. 루트 리소스 클래스가 해당 경로가 위젯임을 지정하고 해당 메서드 중 하나가 GET 동사를 구현하도록 지정하는 경우 위젯에서 GET 이 해당 메서드를 호출합니다. 하위 리소스에서 해당 URI가 {id} 로 지정되면 하위 리소스의 전체 URI 템플릿이 위젯 /{id}이며 위젯/ 12 및 위젯 / 42 와 같은 URI에 대한 요청을 처리합니다.

  • 클래스에는 런타임이 호출할 공용 생성자가 있어야 합니다.

    런타임은 모든 생성자의 매개 변수에 대한 값을 제공할 수 있어야 합니다. 생성자의 매개 변수에는 JAX-RS 매개 변수 주석으로 장식되는 매개 변수가 포함될 수 있습니다. 매개변수 주석에 대한 자세한 내용은 47장. 리소스 클래스 및 메서드에 정보 전달 에서 참조하십시오.

  • 클래스 메서드 중 하나 이상이 HTTP 동사 주석 또는 @Path 주석으로 장식되어야 합니다.

46.3.3. 예제

예 46.3. “루트 리소스 클래스” 하위 리소스에 대한 액세스를 제공하는 루트 리소스 클래스를 표시합니다.

예 46.3. 루트 리소스 클래스

package demo.jaxrs.server;

import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Response;

@Path("/customerservice/")
public class CustomerService
{
  public CustomerService()
  {
    ...
  }

  @GET
  public Customer getCustomer(@QueryParam("id") String id)
  {
    ...
  }

  @DELETE
  public Response deleteCustomer(@QueryParam("id") String id)
  {
    ...
  }

  @PUT
  public Response updateCustomer(Customer customer)
  {
    ...
  }

  @POST
  public Response addCustomer(Customer customer)
  {
    ...
  }

  @Path("/orders/{orderId}/")
  public Order getOrder(@PathParam("orderId") String orderId)
  {
    ...
  }

}

예 46.3. “루트 리소스 클래스” 의 클래스는 루트 리소스 클래스에 대한 모든 요구 사항을 충족합니다.

클래스는 @Path 주석으로 장식됩니다. 서비스에서 노출하는 리소스의 루트 URI는 customerservice 입니다.

클래스에는 public 생성자가 있습니다. 이 경우 간단히 인수 생성자를 사용하지 않습니다.In this case the no argument constructor is used for simplicity.

이 클래스는 리소스에 대한 4개의 HTTP 동사를 각각 구현합니다.

이 클래스는 getOrder() 메서드를 통해 하위 리소스에 대한 액세스도 제공합니다. @Path 주석을 사용하여 지정된 대로 하위 리소스의 URI는 customerservice/order/id 입니다. 하위 리소스는 Order 클래스에서 구현됩니다.

하위 리소스 구현에 대한 자세한 내용은 46.5절. “하위 리소스 작업” 을 참조하십시오.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.