2009-10-30 3 views
2

나는 RESTeasy로 RESTful 웹 서비스를 작성하고있다. 이것은 JAX-RS의 구현입니다. 하나의 @Path 주석으로 클래스 또는 메소드에 주석을 추가합니다. 정규식은 경로 매개 변수를 가져 오는 데 사용됩니다. 예를 들어JAX-RS에서 디스 패칭을 어떻게 제어합니까?

은 "/ foo"로 시작하고 "/ bar"로 끝나고 그 사이에 아무 것도없는 모든 패턴과 일치합니다. 사이에있는 것이 무엇이든 varname이라는 매개 변수에 지정됩니다.

일부 프레임 워크 (Django와 같은)에는 순서대로 시도 할 정규 표현식 및 메소드 목록이 있습니다. 예 :/john/q/smith, /john/{.*}/smith, /john/{.*}/{.*}. "/ john/henry/smith"는 두 번째 및 세 번째와 일치하지만 두 번째는 첫 번째 일치로 발견되기 때문에 파견됩니다.

이것은 JAX-RS에서 가능합니까? 아니면 클래스와 메소드의 고유 한 순서가 있습니까? /john/{.*}/{.*}에 대해/john/anything/anythingbutsmith를 의미하는 정규식을 작성해야합니까? 다른 것을 변경할 때마다 변경해야합니다.

답변

2

잘 정의 된 알고리즘이 있으며, JAX-RS 스펙의 3.7.1 절에서이를 설명합니다. 솔직하게, 나는 설명이 꽤 불투명하다는 것을 안다 - 그래서 그것을 읽는다, 나는 당신의 질문에 답할 수 없다.

그러나 선택 알고리즘의 CXF overview을 찾았습니다. 우선 순위 규칙이 실제로 원하는대로 할 수 있음을 나타냅니다.

관련 문제