在 MarkLogic 9 中,我使用带有 POST 方法的自定义 SJS 服务,我在其中进行一些基本搜索和验证,为错误提供自定义结果(由于要求不使用 fn.error)。我在 POSTMAN 中返回的错误是一个简单的 JSON,如下所示:{"code":400,"message":"Bad request","reason":"string"}POSTMAN 中响应上方的 HTTP 代码消息标头显示“200 OK”,即使在使用xdmp.setResponseCode(400, "Bad request");如何在遵循标准协议的同时将 HTTP 代码设置为手动编号/消息?
1 回答
不负相思意
TA贡献1777条经验 获得超10个赞
这取决于自定义 SJS 服务是否
数据服务端点
在 *.api 声明中设置 errorDetail 属性并抛出映射到 HTTP 状态代码的错误(参见 https://docs.marklogic.com/guide/java/DataServices#id_74238)。
REST API 资源服务扩展
对于 2xx 状态,请
outputStatus
在context
参数对象上设置属性(请参阅 https://docs.marklogic.com/guide/rest-dev/extensions#id_26045)。对于 4xx 状态,抛出
RESTAPI-SRVEXERR
错误(参见 https://docs.marklogic.com/guide/rest-dev/extensions#id_20992)。一个 HTTP 端点模块
调用
xdmp.setResponseCode()
函数(参见https://docs.marklogic.com/xdmp.setResponseCode)
希望有帮助,
添加回答
举报
0/150
提交
取消