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

MarkLogic REST扩展GET接口自定义输出Header及Content-Type失效问题

解决MarkLogic REST资源自定义Content-Type及响应头无效问题

核心问题出在代码拼写错误,导致响应头无法被正确识别,同时Content-Type设置也未按预期生效。

错误点分析

  • 响应头参数拼写错误:"ouput-headers" 应为 "output-headers"(缺失字母t)
  • 重复设置output-type和content-type,MarkLogic REST资源中优先通过output-type控制响应Content-Type,无需重复设置

修正后的XQuery代码

xquery version "1.0-ml";
module namespace he.test = "http://marklogic.com/rest-api/resource/he.test";

declare function he.test:get($context as map:map,$params as map:map) as document-node() {
    let $doc := doc('/LS/MEDIA/test')
    let $_ := map:put($context, "output-type", 'image/jpeg')
    let $_ := map:put($context, "output-headers", ("Marc", "value1", "marc2", "value2"))
return
    $doc
};

额外注意事项

  • 确保/LS/MEDIA/test对应的文档是JPEG二进制内容,若为XML/JSON文档,强制设置image/jpeg可能导致浏览器解析异常
  • 若返回二进制数据,建议将函数返回类型改为xs:base64Binary或binary(),配合output-type设置更贴合二进制资源返回场景

内容的提问来源于stack exchange,提问作者Marc Messéant

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 13:09:54