【问题标题】:Wiremock disable response when matching fails匹配失败时 Wiremock 禁用响应
【发布时间】:2019-02-26 16:02:36
【问题描述】:

我正在使用 Wiremock Standalone 2.21,并在请求中使用匹配的查询参数。当匹配失败时,我希望 Wiremock 不 响应(或者如果可能的话自定义响应)。这可能吗?谢谢!

【问题讨论】:

  • 在提供的示例中,您在尝试不使用正则表达式时引用"Some Regex",规则会触发吗?从一个工作示例开始并进行一些小改动通常是最好的方法。

标签: response wiremock disable


【解决方案1】:

这可以使用 WireMock 中的Stub Priority 来实现。

在下面的例子中有两个规则。一个特定的和一个通用的包罗万象。这两个规则都将匹配您的输入,但通过设置正确的优先级,您可以确保应用程序遵循您想要的匹配顺序。在这种情况下,如果 URL 是 /api/specific-resource,那么将映射第一条规则。如果 url 是 /api/some-other 则适用第二条规则。

具体规则:

{
    "priority": 1,
    "request": {
        "method": "GET",
        "url": "/api/specific-resource"
    },
    "response": {
        "status": 200
    }
}

一般规则:

{
    "priority": 10,
    "request": {
        "method": "GET",
        "urlPattern": "/api/*"
    },
    "response": {
        "status": 200
    }
}

【讨论】:

  • 我试过这个并且正在变成“请求不匹配”消息,而不是我想看到的错误响应。我将发送的查询参数与正则表达式匹配,如下所示:"request": { "method": "POST", "urlPattern":"/test.*", "queryParameters" : { "test" : { "matches" : "<someRegex>" } }
  • 请在您的问题中添加新信息(即示例)。答案评论部分用于要求对提供的答案进行澄清或更改。评论时通常会提到问题的更新。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-24
  • 2019-05-13
  • 1970-01-01
  • 1970-01-01
  • 2021-08-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多