我试过他们的文档,但它是非常“基础”的,所以希望这里有人能发现我的问题?我有两个谓词,一个使用错误的用户,另一个使用正确的用户。用户的base64是通过post-body发送的,但似乎装载银行的contains只是忽略了它,而是选择一个带有另一个包含值的谓词...为什么会这样呢?
我的请求是与dX...2g=
"body":"{\"auth\":\"dXNlcjpmYWxzY2g=\"}"但是装载库匹配一个带有dX...Gln的谓词
using predicate match: [{
"equals":{"method":"POST","path":"/new"},
"contains":{"body":"{\"auth\":\"dXNlcjpyaWNodGln\""}
}]contains不匹配,它仍然使用该谓词,即使我的存根包含匹配的谓词,但它没有被使用:
{
"path": "/new",
"predicates": [{
"equals": {
"method": "POST",
"path": "/new"
},
"contains": {
"body": "{\"auth\":\"dXNlcjpyaWNodGln\""
}
}],
"responses": [{
"is": {
"statusCode": 200,
"body": {}
}
}
}]
}
,
{
"path": "/new",
"predicates": [{
"equals": {
"method": "POST",
"path": "/new"
},
"contains": {
"body": "{\"auth\":\"dXNlcjpmYWxzY2g=\""
}
}],
"responses": [{
"is": {
"statusCode": 401,
"body": {}
}
}
}]
}我的语法是错的吗?它与第一个谓词匹配,尽管它不包含dXNlcjpmYWxzY2g=,但它确实可以使用equals,我只是好奇为什么contains不是。
发布于 2020-08-12 02:16:20
诀窍似乎是使用and,这很奇怪,但解决方案是:
"predicates": [{
"and": [
{ "equals": { "method": "POST", "path": "/new" }},
{ "contains": { "body": "{\"auth\":\"dXNlcjpyaWNodGln\"" }}
]
}],https://stackoverflow.com/questions/63361309
复制相似问题