Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Wiremock查询参数JSON存根文件_Java_Stub_Wiremock - Fatal编程技术网

Java 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": { "

我正在尝试使用wiremock JSON存根文件模拟查询参数

当我这样做时,它会起作用:

{
  "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,您是否收到任何错误?不是真的,我收到一个错误,说“不需要进一步请求”,就像没有调用模拟一样。我尝试升级,但没有结果。我应该试着制作一个最小的可复制的例子,你是独立做的吗?你能试试吗?您在映射目录中有这个吗?