我有一个基于 MarkLogic 的 Web 应用程序,它从两个源提取数据:一个文档存储和一个三重存储,两者都托管在我的 MarkLogic 服务器上。该应用程序使用 MarkLogic 的内置 REST API 来访问这些数据存储。文档存储的 REST API 在端口 8003 上运行,三元组存储的 REST API 在端口 8007 上运行。该应用程序托管在文档存储的模块数据库上。现在,当我进行 REST API 调用来提取三重数据时,我收到一个异常,提示“access-control-allow-origin”标头尚未在服务器端设置。我想知道如何设置它,以便在来自 REST API 的所有响应中将“access-control-allow-origin”获取为“*”。我已阅读有关 xdmp:add-response-headers 的文档,但我无法弄清楚在哪里可以正确使用它。非常感谢所有帮助!
Thanks!
为什么不将文档和三元组保存在同一个数据库中?做到这一点的能力是 MarkLogic 的优势之一。
内置的 REST API 端点似乎不支持任何添加任意响应标头的机制。但是,您应该能够在编写 REST 扩展时添加自己的标头:https://docs.marklogic.com/guide/rest-dev/extensions https://docs.marklogic.com/guide/rest-dev/extensions
对于内置端点,您可以考虑通过另一个应用程序服务器层或透明反向代理来路由请求。无论哪种方式,目标都是重新路由请求,以便浏览器认为两个 REST API 实例位于同一服务器上。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)