首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果没有rs:命名空间前缀,MarkLogic 9资源扩展API将无法工作。

如果没有rs:命名空间前缀,MarkLogic 9资源扩展API将无法工作。
EN

Stack Overflow用户
提问于 2019-08-08 03:27:38
回答 2查看 65关注 0票数 0

接口: host:port?v1/rsources/content?id=1上述接口在ML 8下有效

当我们试图在代码中获取id时,我们在ML9中没有得到任何值

代码语言:javascript
复制
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")

接口: host:port?v1/rsources/content?rs:id=1

但如果我们包括rs,它在ML 9上是有效的:

我们所有的应用程序和服务都是在没有rs: prefex的情况下构建的,这一点很关键,在ML 9中有什么方法可以解决这个问题吗

EN

回答 2

Stack Overflow用户

发布于 2019-08-08 20:20:12

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

这里的解决方案是按照文档中的要求包括前缀。

票数 2
EN

Stack Overflow用户

发布于 2019-08-15 14:59:02

我怀疑某些东西确实发生了变化,原始查询参数不再传递。这将很难绕过这一点。和Dave一样,我建议根据文档使用前缀,或者添加一个代理或层,它会自动为您做这件事。

哈!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57401142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档