【发布时间】:2021-01-28 19:23:36
【问题描述】:
我是 Marklogic 中 url 重写过程的新手,需要帮助来解决以下问题。
我已经编写了 Xquery 实现,以将我的 API 端点重定向到相应的 Xquery 模块,如 /rewriter-ex/rewriter.xqy。
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并且rewrite resolves global参数在App中设置为true服务器。
我能够将我的 API url 重定向到相应的端点。但我无法使用预定义的 ML Res-API 端点,如 /v1/documents,它显示 rewriter.xqy 中返回的 404 错误。
有没有一种方法可以实现重写器以同时支持 rest api 端点和自定义 API 端点?
【问题讨论】:
标签: url-rewriting xquery marklogic rest