53장. 주석 Inheritance


초록

JAX-RS 주석은 주석이 있는 인터페이스를 구현하는 하위 클래스 및 클래스로 상속할 수 있습니다. 상속 메커니즘을 사용하면 하위 클래스와 구현 클래스가 부모로부터 상속된 주석을 재정의할 수 있습니다.

53.1. 개요

상속은 개발자가 특정 요구 사항을 충족하기 위해 특화될 수 있는 제네릭 개체를 만들 수 있기 때문에 Java에서 더 강력한 메커니즘 중 하나입니다. JAX-RS는 클래스를 매핑하는 데 사용되는 주석을 수퍼 클래스에서 상속하도록 허용하여 이 전원을 유지합니다.

JAX-RS 주석 상속은 인터페이스를 지원하기 위해 확장됩니다. 구현 클래스는 구현되는 인터페이스에서 사용되는 JAX-RS 주석을 상속합니다.

JAX-RS 상속 규칙은 상속된 주석을 재정의하는 메커니즘을 제공합니다. 그러나 super 클래스 또는 인터페이스에서 해당 주석을 상속하는 구문에서 JAX-RS 주석을 완전히 제거할 수는 없습니다.

53.2. 상속 규칙

리소스 클래스는 구현하는 인터페이스에서 JAX-RS 주석을 상속합니다. 리소스 클래스는 확장하는 모든 슈퍼 클래스에서 JAX-RS 주석도 상속합니다. 슈퍼 클래스에서 상속된 주석은 am 인터페이스에서 상속된 주석보다 우선합니다.

예 53.1. “주석 상속” 에 표시된 코드 샘플에서 Kaijin 클래스의 getMonster() 메서드는 Kaiju 인터페이스에서 @Path,@GET@PathParam 주석을 상속합니다.

예 53.1. 주석 상속

public interface Kaiju
{
  @GET
  @Path("/{id}")
  public Monster getMonster(@PathParam("id") int id);
  ...
}

@Path("/kaijin")
public class Kaijin implements Kaiju
{
  public Monster getMonster(int id)
  {
    ...
  }
  ...
}

53.3. 상속된 주석 덮어쓰기

상속된 주석을 재정의하는 것은 새 주석을 제공하는 것만큼 쉽습니다. 하위 클래스 또는 구현 클래스에서 메서드에 대한 자체 JAX-RS 주석을 제공하는 경우 해당 메서드에 대한 모든 JAX-RS 주석은 무시됩니다.

예 53.2. “주석 상속 덮어쓰기” 에 표시된 코드 샘플에서 Kaijin 클래스의 getMonster() 메서드는 Kaiju 인터페이스에서 주석을 상속하지 않습니다. 구현 클래스는 @inspector 주석 을 재정의하여 인터페이스의 모든 주석이 무시됩니다.

예 53.2. 주석 상속 덮어쓰기

public interface Kaiju
{
  @GET
  @Path("/{id}")
  @Produces("text/xml");
  public Monster getMonster(@PathParam("id") int id);
  ...
}

@Path("/kaijin")
public class Kaijin implements Kaiju
{

  @GET
  @Path("/{id}")
  @Produces("application/octect-stream");
  public Monster getMonster(@PathParam("id") int id)
  {
    ...
  }
  ...
}
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.