javascript - Mediawiki Hyperswitch:如果响应正文中的某个值等于变量,则返回
问题描述
我正在使用来自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
. 我怎样才能做到这一点?
解决方案
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 将其导出。
推荐阅读
- python - 如何使用在烧瓶中
- typescript - 当函数表达式声明类时如何定义类型?
- javascript - React Native Firebase:我正在尝试通过云存储上传个人资料图片,但 'then()' 中的函数没有响应
- python - 使用 seaborn 合并不同线图的图例
- java - Web3j 调用智能合约中的变量
- java - 为 char 值循环数组并将其附加到 String 时跳过 2d char[][] 数组中的空索引
- spring-boot - 如何防止休眠JPA删除具有一对多外键出现的实体,例如在spring存储库上的删除限制
- python - 散列和字典的实现
- sql - SQL-基本但仍然觉得它很复杂
- python - NoReverseMatch at - django polls 应用教程