2012-08-03 2 views
0

URI에서 HTTP 쿼리 매개 변수 price을 가져 오려면 BaseX RESTXQ .xqm 스크립트를 사용하고 있습니다.BaseX RESTXQ를 사용하여 전체 쿼리 문자열을 얻는 방법은 무엇입니까?

URI: /foo/?price=20 
Result: <price>20</price> 

이것은 .xqm 코드입니다.

declare 
    %rest:path("foo") 
    %rest:query-param("price", "{$price}") 
    function page:foo($price) { 
    <price>{$price}</price> 
    }; 

그러나 어떻게 전체 쿼리를 얻을 수 있습니까? 예 :

URI:  /foo/?hello=world&this=that&foo=bar 
Result: <query>hello=world&this=that&foo=bar</query> 

내 문제는 쿼리에 얼마나 많은 매개 변수가 있는지 또는 해당 매개 변수가 호출 될지 모르기 때문입니다. 임의의 수의 매개 변수 (0에서 n까지)가있을 수 있으며 아무 것도 호출 할 수 없습니다. 전체 쿼리를 단일 문자열로 가져올 수 있으면 내 문제가 해결됩니다.

이 작업을 수행 할 수 있습니까?

답변

1

현재 RESTXQ 초안은 동적으로 쿼리 매개 변수를 요청하는 솔루션을 제공하지 않습니다.

관련 JAX-RS 사양에는 Java 기능에서 추가 요청 정보를 사용할 수 있도록 여러 개의 Context 주석이 있습니다 (example 참조). BaseX의 최신 버전은 Request Module을 제공하며 모든 쿼리 매개 변수에 대한 동적 액세스를 제공하도록 확장 될 수 있습니다. 이러한 확장을 더욱 촉진 시키려면 basex-talk 메일 링리스트 또는 Adam Retter (RESTXQ의 발명가)에게 편지를 보내야 할 수도 있습니다.

관련 문제