Java Wiremock查询参数JSON存根文件
我正在尝试使用wiremock JSON存根文件模拟查询参数 当我这样做时,它会起作用:Java Wiremock查询参数JSON存根文件,java,stub,wiremock,Java,Stub,Wiremock,我正在尝试使用wiremock JSON存根文件模拟查询参数 当我这样做时,它会起作用: { "request": { "method": "GET", "url": "/posts?id=1", }, //... } 但是,当我将查询参数更改为使用这样的专用字段时,它不再起作用: { "request": { "method": "GET", "urlPath": "/posts", "queryParameters": { "
{
"request": {
"method": "GET",
"url": "/posts?id=1",
},
//...
}
但是,当我将查询参数更改为使用这样的专用字段时,它不再起作用:
{
"request": {
"method": "GET",
"urlPath": "/posts",
"queryParameters": {
"id": {
"equalTo": "1"
}
}
},
//...
}
知道为什么吗
测试请求看起来像这对我有效,请将
的“urlPath”
更改为的“urlPathPattern”
,但在构建此JSON
时要小心。所以urlPath
是完全匹配的模式,但是urlPathPattern
是路径和查询参数上的正则表达式匹配
{
"request": {
"urlPathPattern": "/posts",
"method": "GET",
"queryParameters": {
"id": {
"equalTo": "1"
}
}
},
"response": {
"status": 200,
"body":"This is successful"
}
}
问题是
urlPath
不能与queryParameters
一起工作,这只是预期的行为。:/我在Wiremock Github repo找到的。根据的回答,这是预期的行为,queryParameters
将匹配如果您使用urlPathPattern
您可以尝试使用urlPathPattern
而不是urlPath
正如urlPath所说,urlPath用于精确匹配,而URLPATHTERNER用于regex
因此,在QueryParameter中使用urlPathPattern
可以解析查询
{
"request": {
"method": "GET",
"urlPathPattern": "/posts",
"queryParameters": {
"id": {
"equalTo": "1"
}
}
},
//...
}
请尝试并理解以下概念。以下代码对您有效?它不适用,您使用的是哪个版本?2.18.0,您是否收到任何错误?不是真的,我收到一个错误,说“不需要进一步请求”,就像没有调用模拟一样。我尝试升级,但没有结果。我应该试着制作一个最小的可复制的例子,你是独立做的吗?你能试试吗?您在映射目录中有这个吗?