单个查询参数的 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
但必须用另一个 \
.
转义 \
我使用的是 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
但必须用另一个 \
.
\