我正在使用BaseX RESTXQ .xqm
脚本从URI中获取HTTP查询参数price
,例如;
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>
我的问题是,我不知道查询将包含多少个参数或者这些参数可能被调用的内容。可能有任意数量的参数(零到n),它们可能被称为任何东西。能够将整个查询作为单个字符串来解决我的问题。
可以这样做吗?
答案 0 :(得分:1)
当前的RESTXQ草案没有提供动态请求查询参数的解决方案。
在相关的JAX-RS规范中,存在多个Context
注释,以便为Java函数提供其他请求信息(请参阅example)。较新版本的BaseX将提供Request Module,可以对其进行扩展,以提供对所有查询参数的动态访问。您可能希望写入basex-talk邮件列表或Adam Retter(RESTXQ的发明者)以进一步激发此类扩展。