API:host:port?v1 / rsources / content?id = 1 上面的API适用于ML 8
当我们尝试在代码中获取ID时,在ML 9中没有任何值
declare
%roxy:params("")
function ext:get(
$context as map:map,
$params as map:map
) as document-node()*
{
let $params := rest:get-raw-query-params () + $params
let $id := map:get($params,"id")
API:host:port?v1 / rsources / content?rs:id = 1
但是,如果我们包含rs,它将在ML 9上运行:
我们所有的应用程序和服务都是在没有rs的情况下构建的:prefex 这很关键,并且有任何方法可以解决,这是ML 9
答案 0 :(得分:2)
这里令人惊讶的部分是它曾经起作用过-自从MarkLogic 6中引入REST API以来,就一直需要rs:前缀。您是否有可能在添加rs:前缀的同时有应用程序层或自定义重写器使用MarkLogic 8?
这里的解决方案是按照文档要求包含前缀。
答案 1 :(得分:0)
我怀疑某些事情确实发生了变化,并且原始查询参数不再传递。很难解决这个问题。与Dave一样,我建议根据文档使用前缀,或添加自动为您执行此操作的代理或层。
HTH!