我想创建一个自定义端点来上传文件,我可以使用通用的Rest API存根并使用POST方法来获取文件内容..我在文档中看到
这是什么意思?我可以做以下事吗,在MarkLogic 8中,单语句事务中的POST方法以查询模式执行
declare function repo:post($context as map:map, $params as map:map,$input as document-node()*) as document-node()*
{
let $filename := xdmp:get-request-field-filename("upload")
let $contentType := xdmp:get-request-field-content-type("upload")
......
};
这将采取“multipart / form-data;” ??我有什么例子可以看吗?以上方式似乎对我不起作用
我也尝试过(并且喜欢注释)使用RXQ(https://github.com/xquery/rxq),但是对于multipart / form-data失败了。
关于如何接近的任何指示都会非常有用..
谢谢, 拉维
答案 0 :(得分:3)
如果您只想编写单个文档,请考虑使用内置的REST端点:
http://docs.marklogic.com/REST/PUT/v1/documents
如果要在编写文档的同时执行某些自定义逻辑,一种简单的方法是指定执行副作用操作的转换,并简单地传递文档:
http://docs.marklogic.com/guide/rest-dev/transforms
如果您的自定义逻辑必须处理写入,请考虑使用PUT方法:
http://docs.marklogic.com/REST/PUT/v1/resources/%5Bname%5D
编写单个文档时,指定标识文档格式的mime类型。在编写一批文档时,您应该将批处理打包为多部分/混合有效负载,其中每个部分都指定文档格式的mime类型。
使用REST扩展时,您无需与HTTP交互。 REST API为您执行此操作,获取文档并将其传递给您的函数。您只需编写具有预期签名的函数:
http://docs.marklogic.com/guide/rest-dev/extensions#id_75991
使用以下函数安装库模块:
http://docs.marklogic.com/guide/rest-dev/extensions#id_59112
希望有帮助,