У меня есть расширение ресурса, где я хочу вернуть json в ответ на запрос GET. У меня JSON как текст, а не как дерево объектов. Я думал, что могу просто установить output-type
на карте $context
, а затем вернуть текст в узел документа, но, похоже, мой тип содержимого изменяется на text/plain в заголовках ответов.вернуть текст json из расширения ресурса
xquery version "1.0-ml";
module namespace resource = "http://marklogic.com/rest-api/resource/json";
declare function get(
$context as map:map,
$params as map:map
) as document-node()*
{
let $output-type := map:put($context, "output-type", "application/json")
return
document {
"{ ""name"": ""tj"" }"
}
};
Если я возвращает объект JSON дерево в документе узла, т.е. оберточной текст в xdmp:unquote
, то он возвращает в порядке. НО, что я хочу сделать, это вернуть прямой JSON без необходимости его синтаксического анализа. Я пытался избавиться от необходимости преобразовывать XML в JSON в мои ответы, ожидающие JSON. Но необходимость в xdmp: unparse или json: transform-to-json приводит к тому же лишнему времени, которое я пытаюсь избежать.
Я понимаю, что означает атрибут output-type
?
Спасибо .. Я смотрел документацию и считал, что это было одинаково для всех разных случаев. –