Wiremock 匹配请求 POST by params

ras*_*cio 5 parameters post wiremock

我有一个简单的 POST 请求发送参数使用 application/x-www-form-urlencoded编码。

查看wiremock docs我找不到通过params值匹配请求的方法,例如querystring我的意思匹配。

此外,似乎也不可能 contains身体进行匹配,清晰的方式匹配整个身体(就像 base64 一样)。

有没有办法匹配这种请求?

Har*_*llo 9

我发现的另一个选择是用于contains存根 Content-Type: application/x-www-form-urlencoded

{
  "request": {
    "method": "POST",
    "url": "/oauth/token",
    "basicAuthCredentials": {
      ...
    },
    "bodyPatterns": [
      {
        "contains": "username=someuser"
      }
    ]
  },
  "response": {
    ....
  }
}
Run Code Online (Sandbox Code Playgroud)


Ste*_*ath 1

你可以尝试https://github.com/WireMock-Net/WireMock.Net

可以使用以下示例 json 来匹配查询参数正文:

{
    "Guid": "dae02a0d-8a33-46ed-aab0-afbecc8643e3",
    "Request": {
      "Url": "/testabc",
      "Methods": [
        "put"
      ],
      "Params": [
        {
          "Name": "start",
          "Values": [ "1000", "1001" ]
        },
        {
          "Name": "end",
          "Values": [ "42" ]
        }
      ],
       "Body": {
        "Matcher": {
          "Name": "WildcardMatcher",
          "Pattern": "test*test"
        }
      }
    }
}
Run Code Online (Sandbox Code Playgroud)