首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >参数发布Wiremock匹配请求

参数发布Wiremock匹配请求
EN

Stack Overflow用户
提问于 2018-02-06 00:59:01
回答 4查看 5.4K关注 0票数 5

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

在wiremock docs中,我找不到通过参数值匹配请求的方法,类似于我所说的querystring匹配。

此外,似乎也不可能为身体contains,也不可能匹配整个身体的清晰(就像base64)。

有没有一种方法可以满足这种请求?

EN

回答 4

Stack Overflow用户

发布于 2020-03-09 08:48:27

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

代码语言:javascript
运行
复制
{
  "request": {
    "method": "POST",
    "url": "/oauth/token",
    "basicAuthCredentials": {
      ...
    },
    "bodyPatterns": [
      {
        "contains": "username=someuser"
      }
    ]
  },
  "response": {
    ....
  }
}
票数 5
EN

Stack Overflow用户

发布于 2019-04-24 03:31:07

在经典wiremock中,你可以使用bodyPatterns的匹配器和正则表达式:

例如:

代码语言:javascript
运行
复制
...
"request": {
   "method": "POST",
   "url": "/api/v1/auth/login",
   "bodyPatterns": [
     {
       "matches": "(.*&|^)username=test($|&.*)"
     },
     {
       "matches": "(.*&|^)password=123($|&.*)"
     }
   ]
},
票数 2
EN

Stack Overflow用户

发布于 2018-02-10 02:12:54

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

匹配查询参数body可以使用以下示例json:

代码语言:javascript
运行
复制
{
    "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"
        }
      }
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48627656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档