如果WireMock查询不匹配,则默认为重叠端点而不是404

时间:2017-09-15 10:37:50

标签: java json wiremock

这是两个端点

端点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,但默认情况下它会命中第一个端点。是否有某种方法来指定它,使其不会碰到重叠的端点。我已经尝试过优先级属性,但它似乎没有做任何事情。

1 个答案:

答案 0 :(得分:1)

您需要通过添加以下内容显式声明查询参数在第一个存根中不存在:

"queryParameters" : { "date" : { "absent" : true } }

相关问题