我正在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。
非常感谢。
答案 0 :(得分:4)
由于您的目标是获取库函数,请考虑创建REST扩展,而不是对主模块使用/ invoke。 REST扩展可以实现您选择的HTTP动词,并接受您想要的任何形式的输入。该扩展然后可以将这些输入转换为函数参数并调用该函数。
有关REST扩展的更多信息,请参见Extending the REST API,其中包括example XQuery extension。