我们正在创建一个监控插件,该插件将对MarkLogic进行休息调用以检索状态信息。我们需要知道的第一件事是我们正在连接哪个版本的MarkLogic,以便我们知道是否使用其余api的v1或v2。
有没有办法先检索这些信息?
答案 0 :(得分:3)
主机状态输出中有版本信息。您首先需要列出/manage/LATEST/hosts
的所有主机,然后选择一个进行查询,例如/manage/LATEST/hosts/localhost?view=status
。然后查看status-properties
和version
。
答案 1 :(得分:2)
ML的REST API中没有内置端点可以直接查询xdmp:version
的值;但是,如果您使用v2端点在较新版本的ML上调用v1端点,则会抛出MANAGE-UNSUPPORTEDVERSION
异常。因此,一种方法可能是在插件中捕获该异常,然后使用v2端点重试。
或者,您可以创建一个非常简单的端点来返回xdmp:version
的值。如果您希望将其作为ML的REST API系统和URL方案的一部分,您可以编写资源服务扩展: