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

Parameters 针对单个查询参数的Wiremock多重匹配,parameters,matching,wiremock,Parameters,Matching,Wiremock,我使用的是Wiremock standalone 2.21,我希望一个查询参数有多个匹配项。 我和邮递员一起寄的是: http://localhost:8787/template?param1=test1 在映射文件中,我有以下内容: ... "request": { "method": "POST", "urlPattern":"/template.*", "queryParameters" : { "para

我使用的是Wiremock standalone 2.21,我希望一个查询参数有多个匹配项。 我和邮递员一起寄的是:

http://localhost:8787/template?param1=test1
在映射文件中,我有以下内容:

...

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

...

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

是的,这是一种可行的解决方法:使用“匹配”并定义正则表达式而不是“equalTo”,如下所示:

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

如果你想让它匹配很多“测试”短语,但却能起作用,那么这可能是不合适的。通常是
\btest1\b
,但必须用另一个
\

来转义
\
,是的,可以使用此解决方法:使用“匹配”并定义正则表达式而不是“equalTo”,如下所示:

      {...
        "request": {
            "method": "POST",
            "urlPattern":"/template.*",
            "queryParameters" : {
                "param1" : {
                    "matches" : "(\\btest1\\b|\\btest2\\b|\\test3\\b)"
                }
            }
        },...
如果你想让它匹配很多“测试”短语,但却能起作用,那么这可能是不合适的。通常是
\btest1\b
,但必须用另一个
\
来转义
\