47.4. Apache CXF 확장 사용
47.4.1. 개요
Apache CXF는 개발자가 일련의 삽입 주석을 단일 주석으로 교체할 수 있는 표준 Cryostat-WS 주입 메커니즘에 대한 확장을 제공합니다. 단일 주석은 주석을 사용하여 추출된 데이터의 필드가 포함된 8080에 배치됩니다. 예를 들어 리소스 메서드에서 id
,type
, size
라는 세 개의 쿼리 매개 변수를 포함하는 요청 URI가 필요한 경우 단일 @QueryParam
주석을 사용하여 해당 필드가 있는ans에 모든 매개 변수를 삽입할 수 있습니다.
대신 @BeanParam
주석을 사용하는 것이 좋습니다(undercloud-RS 2.0 이후 사용 가능). 표준화된 @BeanParam
접근 방식은 독점 Apache CXF 확장보다 유연하므로 권장되는 대안입니다. 자세한 내용은 47.2.6절. “Java Cryostat에 매개변수 삽입”의 내용을 참조하십시오.
47.4.2. 지원되는 삽입 주석
이 확장은 모든 삽입 매개 변수를 지원하지 않습니다. 다음 항목만 지원합니다.
-
@PathParam
-
@QueryParam
-
@MatrixParam
-
@FormParam
47.4.3. 구문
주석에서 빈에 직렬 삽입을 사용하려면 다음 두 가지 작업을 수행해야 합니다.
-
주석의 매개변수를 빈 문자열로 지정합니다. 예를 들어
@PathParam("")
은 URI 템플릿 변수의 시퀀스를 빈으로 직렬화하도록 지정합니다. - 주석이 달린 매개 변수가 삽입되는 값과 일치하는 필드가 있는 8080인지 확인합니다.
47.4.4. 예
예 47.7. “metrics에 쿼리 매개변수 삽입” 빈에 여러 쿼리 매개 변수를 삽입하는 예를 보여줍니다. 리소스 메서드는 요청 URI에 type
및 id
라는 두 개의 쿼리 매개 변수를 포함할 것으로 예상합니다. 해당 값은 Monster
8080의 해당 필드에 삽입됩니다.
예 47.7. metrics에 쿼리 매개변수 삽입
import javax.ws.rs.QueryParam; import javax.ws.rs.PathParam; import javax.ws.rs.POST; import javax.ws.rs.Path; ... @Path("/monstersforhire/") public class MonsterService { ... @POST public void updateMonster(@QueryParam("") Monster bean) { ... } ... } public class Monster { String type; String id; ... }