如果WireMock查询不然后匹配默认为重叠端点而不是404
问题描述:
这里有两个端点如果WireMock查询不然后匹配默认为重叠端点而不是404
端点1
{
"request": {
"method": "GET",
"urlPath": "/event/event410"
},
"response": {
"status": 410,
"jsonBody": {"status":"Error","message":"Target resource is no longer available - type 410 -"},
"headers": {
"Content-Type": "application/json"
}
}
}
端点2
{
"request": {
"method": "GET",
"urlPath": "/event/event410",
"queryParameters":{
"date": {
"equalTo" : "SomeDate"
}
}
},
"response": {
"status": 410,
"jsonBody": {"status":"Error","message":"Target resource is no longer available - type and date 410 -"},
"headers": {
"Content-Type": "application/json"
}
}
}
如果我打的第二端点与一个查询不符合SomeDate
,那么我预计它会抛出一个404 NOT FOUND
,但它默认命中第一个端点。是否有某种方式来指定它,使其不会碰到重叠的端点。我已经尝试了优先级属性,但它似乎没有做任何事情。
答
你需要加入此明确声明查询参数是在第一支脚缺席:
"queryParameters" : { "date" : { "absent" : true } }
哦,对了是有道理的。当我回到项目时,我会放弃这一点。谢谢汤姆! – Mohammad