使用内置休息端点来调用ML数据库中的模块

时间:2018-07-09 11:00:13

标签: xquery marklogic

我正在Marklogic中使用内置的其余端点,这使我可以调用Marklogic的模块数据库中存储的模块。

http://localhost:8000/LATEST/invoke?data-urlencode=module=/modules/module.xqy&database=databasename&data-urlencode=vars='{“ word1”:“你好”,“ word2”:“世界”}'

它还提供任何选项来调用lib模块中存在的直接函数吗?

使用vars选项,它使我们可以将外部参数传递给调用模块。似乎vars选项仅允许将原始值传递给外部参数到调用模块。

但是我们如何使用此vars选项将XML数据传递给调用模块,以便可以通过模块内定义的外部变量对其进行访问。

任何建议将不胜感激。

注意:我正在使用邮递员测试其余API。

非常感谢。

1 个答案:

答案 0 :(得分:4)

由于您的目标是获取库函数,请考虑创建REST扩展,而不是对主模块使用/ invoke。 REST扩展可以实现您选择的HTTP动词,并接受您想要的任何形式的输入。该扩展然后可以将这些输入转换为函数参数并调用该函数。

有关REST扩展的更多信息,请参见Extending the REST API,其中包括example XQuery extension