47장. 리소스 클래스 및 메서드에 정보 전달
초록
JAX-RS는 개발자가 리소스로 전달되는 정보를 제어할 수 있는 여러 주석을 지정합니다. 주석은 URI의 매트릭스 매개변수와 같은 일반적인 HTTP 개념을 따릅니다. 표준 API를 사용하면 메서드 매개 변수, 빈 속성 및 리소스 클래스 필드에 주석을 사용할 수 있습니다. Apache CXF는 빈에 삽입할 매개 변수 시퀀스를 주입할 수 있는 확장을 제공합니다.
47.1. 데이터 삽입의 기본 사항
47.1.1. 개요
HTTP 요청 메시지의 데이터를 사용하여 초기화되는 매개변수, 필드 및 빈 속성에는 런타임을 통해 해당 값이 삽입됩니다. 삽입된 특정 데이터는 47.2절. “JAX-RS API 사용” 에 설명된 주석 세트로 지정됩니다.
JAX-RS 사양은 데이터가 삽입될 때 몇 가지 제한 사항을 적용합니다. 또한 요청 데이터를 삽입할 수 있는 오브젝트 유형에 대한 몇 가지 제한 사항을 배치합니다.
47.1.2. 데이터가 삽입되는 경우When data is injected
요청 데이터는 요청으로 인해 인스턴스화될 때 개체에 삽입됩니다. 즉, 리소스에 직접 해당하는 오브젝트만 삽입 주석을 사용할 수 있습니다. 46장. 리소스 생성 에서 설명한 것처럼 이러한 오브젝트는 @Path
주석으로 장식되는 루트 리소스 또는 하위 리소스 로케이터 메서드에서 반환된 오브젝트입니다.
47.1.3. 지원되는 데이터 유형
데이터가 삽입될 수 있는 특정 데이터 유형 세트는 삽입된 데이터의 소스를 지정하는 데 사용되는 주석에 따라 달라집니다. 그러나 모든 삽입 주석은 다음 데이터 유형 세트를 지원합니다.
-
int
,char
또는long
과 같은 프리미티브 -
단일 String 인수를 허용 하는 생성자가 있는 개체입니다.Objects that have a constructor that accepts a single
String
argument. -
단일 String 인수를 허용 하는 정적
valueOf()
메서드가 있는 개체입니다.Objects that have a static valueOf() method that accepts a singleString
argument. - List<T>, Set<T> 또는 SortedSet< T > 목록에서 다른 조건을 충족하는 개체
삽입 주석에 지원되는 데이터 유형에 대한 요구 사항이 다른 경우 주석 설명에서 차이점이 강조 표시됩니다.