我正在使用Wikibase中的RestAPI,而后者又使用了Hyperswitch框架。
在其yaml文件的示例代码中,有一种情况可以选择返回响应还是不依赖状态代码
x-request-handler:
- storage:
request:
method: get
headers:
cache-control: '{{cache-control}}'
# cache-control: "no-cache"
uri: /{domain}/sys/key_value/page_summary3/{request.params.title}
catch:
status: 404
return_if:
# Typical case: Return straight from storage.
status: '2xx'
return:
但是我想返回的值取决于在响应正文中找到的值,例如success: 1
。我该怎么办?
答案 0 :(得分:0)
return_if:
'{{storage.body.success}}': 1
也许?该语法适用于值,我不知道它是否适用于键。不过,您始终可以手动处理请求:使用operationId
而不是x-request-handler
,然后使用类似
function storage(hyper, req) {
return hyper.get(...).then((res) => {
if (res.body.success === 1) {
return res;
}
return {...};
});
}
并使用您选择的操作ID将其导出。