我是Marklogic中URL重写过程的新手,需要帮助来解决以下问题。
我已经编写了Xquery实现,以将我的API端点重定向为/rewriter-ex/rewriter.xqy到相应的Xquery模块。
xquery version "1.0-ml";
let $url := xdmp:get-request-url()
return if(fn:matches($url,"/fetchRecord")) then
fn:replace($url,"/fetchRecord","/lib/fetch-record.xqy$1")
else if(fn:matches($url,"/saveRecord")) then
fn:replace($url,"/saveRecord$","/lib/save-record.xqy")
else (xdmp:set-response-code(404, "Not found"),"/no/such/resource")
并将App服务器配置中的url-rewriter路径设置为/rewriter-ex/rewriter.xqy,并且在App Server中将“全局重写解析”参数设置为true。
我可以将我的API网址重定向到相应的端点。但是我无法使用预定义的ML Res-API端点,例如/ v1 / documents,它显示rewriter.xqy返回的404错误。
有没有一种方法可以实现重写器以支持其余api端点以及自定义API端点?
感谢您的回答。我正计划使用两个应用程序服务器,一个用于其他调用,另一个用于API调用。这两个应用程序服务器将指向同一个DB。请告诉我这是否正确。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句