You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否在MarkLogic Query Console中注册REST端点?含XQuery实现问询

在MarkLogic Query Console中注册REST端点及XQuery实现方法

嘿,我来给你清晰解答这两个问题:

1. 能否在MarkLogic Query Console中注册REST端点?

当然可以!不过得说明下:Query Console本身没有可视化的“一键创建REST端点”按钮,但你可以在Query Console里运行代码来完成注册操作——毕竟REST端点的本质是配置MarkLogic的REST应用服务器,以及绑定对应的服务逻辑,这些都能通过代码在Query Console里执行。

2. 能否通过XQuery完成REST端点的注册?

完全没问题!MarkLogic提供了专门的XQuery管理模块和REST服务模块,让你可以用XQuery完成从创建REST应用服务器到注册自定义端点的全流程。

示例1:创建基础REST应用服务器

这是注册REST端点的核心前提,需要管理员权限执行:

xquery version "1.0-ml";

import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy";

(: 获取当前服务器配置 :)
let $config := admin:get-configuration()
(: 定义REST应用服务器的参数 :)
let $new-rest-server := admin:http-server-create(
  $config,
  admin:group-get-id($config, "Default"), (: 所属组,默认用Default即可 :)
  "My-Custom-REST-Server", (: 服务器名称,自定义 :)
  "/my-rest-api", (: 端点的根访问路径 :)
  xdmp:database("Documents"), (: 关联的数据库 :)
  8015 (: 监听端口,选一个未被占用的端口 :)
)
(: 启用该服务器的REST API支持 :)
let $updated-config := admin:http-server-set-rest-api($new-rest-server, fn:true())
(: 保存配置变更,这一步会生效服务器设置 :)
return admin:save-configuration($updated-config)

示例2:注册自定义REST端点

当你有了REST应用服务器后,可以注册自定义的端点逻辑,比如一个返回自定义内容的GET接口:

xquery version "1.0-ml";

import module namespace rest = "http://marklogic.com/appservices/rest" at "/MarkLogic/appservices/rest/rest.xqy";

(: 注册一个路径为/custom-greet的GET端点 :)
rest:put-service(
  "/custom-greet",
  "GET",
  function($context as map:map, $params as map:map) as document-node() {
    let $name := map:get($params, "name")
    return <greeting>
      你好{if ($name) then ", " || $name else ""}!这是用XQuery注册的自定义REST端点~
    </greeting>
  }
)

执行完这段代码后,你就可以通过 http://<你的MarkLogic主机>:8015/my-rest-api/v1/resources/custom-greet?name=Ashwin 来访问这个端点啦。

注意事项

  • 执行服务器配置相关的代码需要管理员权限,普通用户账号无法修改服务器配置。
  • 如果你需要更复杂的端点逻辑(比如处理POST请求、操作数据库、权限控制等),可以在XQuery函数里扩展对应的逻辑,MarkLogic的XQuery库提供了丰富的工具函数支持。

内容的提问来源于stack exchange,提问作者Ashwin Kannan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 07:48:47