【问题标题】:WireMock set optional Parameters possibly?WireMock 可能设置可选参数吗?
【发布时间】:2020-07-07 09:41:24
【问题描述】:

我在这里很新。我查找在我的 Pattern 中设置 die 可选参数。我已经看过 WireMock 的纪录片了,但是还没有找到合适的。

我的问题是,我可以按任意顺序查询参数吗=?

下一个是,不区分大小写不起作用。我不知道为什么。

{
  "priority": 1,
  "request": {
    "method": "GET",
    "headers": {
      "Content-Type": {
        "equalTo": "application/json",
        "caseInsensitive": true
      }
    },
    "urlPattern": "/example\\?name=([a-zA-Z0-9]*)&id=([a-zA-Z0-9]*)"
  },
  "response": {
    "status": 200,
    "bodyFileName": "example/test.json"
  }
}

【问题讨论】:

  • 您能否详细说明“caseInsentive”不起作用的含义?它到底是怎么回事?正如您所说,它仅适用于 Content-Type 标头。

标签: wiremock


【解决方案1】:

正如你写的urlPattern,查询参数匹配不是顺序无关的。如果您希望查询参数无关紧要,则需要执行类似...

{
  "priority": 1,
  "request": {
    "method": "GET",
    "headers": {
      "Content-Type": {
        "equalTo": "application/json"
      }
    },
    "urlPath": "/example",
    "queryParameters": {
        "name": {
            "matches": "([a-zA-Z0-9]*)"
        },
        "id": {
            "matches": "([a-zA-Z0-9]*)"
        }
    }
  },
  "response": {
    "status": 200,
    "bodyFileName": "example/test.json"
  }
}

【讨论】:

【解决方案2】:

查询的结果返回相同的答案。

如果我调用我的请求,我希望参数的顺序无关紧要。

示例请求:/example?name=max&id=01 example2 请求:/example?id=01&name=max

它应该得到相同的响应。

而且它应该不区分大小写。

【讨论】:

  • 这应该是对您的主要问题的评论回复,或者作为对我的回答的评论,而不是答案。
猜你喜欢
  • 2019-04-10
  • 1970-01-01
  • 2013-11-17
  • 1970-01-01
  • 1970-01-01
  • 2018-08-04
  • 2013-01-22
  • 1970-01-01
相关资源
最近更新 更多