首页 > 解决方案 > MarkLogic 9 资源扩展 API 在没有 rs: 命名空间前缀的情况下无法工作

问题描述

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

标签: restxquerymarklogicmarklogic-8marklogic-9

解决方案


这里令人惊讶的部分是它曾经工作过——自从在 MarkLogic 6 中引入 REST API 以来,就需要 rs: 前缀。是否有可能在使用 MarkLogic 8 时添加了 rs: 前缀的应用程序层或自定义重写器?

此处的解决方案是遵循包含前缀的文档化要求。


推荐阅读