单个查询参数的 Wiremock 多重匹配

Wiremock multiple matching for single query parameter

我使用的是 Wiremock 独立版 2.21,我想对单个查询参数进行多次匹配。 我用邮递员发送的内容:

http://localhost:8787/template?param1=test1

在我的映射文件中我有这个:

...

    "request": {
        "method": "POST",
        "urlPattern":"/template.*",
        "queryParameters" : {
            "param1" : {
                "equalTo" : "test1"
            }
        }
    },

...

我希望它也能与其他字符串匹配。例如:test2、test3 等。使用 Wiremock 可以吗?

是的,可以使用此解决方法:使用 "matches" 并定义正则表达式而不是 "equalTo",如下所示:

      {...
        "request": {
            "method": "POST",
            "urlPattern":"/template.*",
            "queryParameters" : {
                "param1" : {
                    "matches" : "(\btest1\b|\btest2\b|\test3\b)"
                }
            }
        },...

如果您想让它匹配很多 "test" 个短语但它确实有效,这可能会让人感到不舒服。通常是 \btest1\b 但必须用另一个 \.

转义 \