Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.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中请求正文的多个匹配项_Java_Spring_Dropwizard_Wiremock - Fatal编程技术网

Java wiremock中请求正文的多个匹配项

Java wiremock中请求正文的多个匹配项,java,spring,dropwizard,wiremock,Java,Spring,Dropwizard,Wiremock,最近在wiremock()中学习到的请求匹配。想知道当一个请求的主体匹配多个映射时会发生什么情况(定义为具有不同条件的同一url路径并返回不同的json响应)?从技术上讲,WireMock不会匹配两次——一旦找到单一匹配,它将返回该匹配。根据我自己使用单独的映射文件进行的测试,这通常是最近添加的映射(我不知道如何以编程方式创建存根,但我猜最近添加的存根将被匹配并返回) 为了避免这种歧义,您可以使用一些策略,但我个人最喜欢的是使用优先级字段以及特定和常规映射 { "priority&

最近在wiremock()中学习到的请求匹配。想知道当一个请求的主体匹配多个映射时会发生什么情况(定义为具有不同条件的同一url路径并返回不同的json响应)?

从技术上讲,WireMock不会匹配两次——一旦找到单一匹配,它将返回该匹配。根据我自己使用单独的映射文件进行的测试,这通常是最近添加的映射(我不知道如何以编程方式创建存根,但我猜最近添加的存根将被匹配并返回)

为了避免这种歧义,您可以使用一些策略,但我个人最喜欢的是使用
优先级
字段以及特定和常规映射

{
  "priority": 1,
  "request": {
    "url": "/test",
    "queryParameters": {
      "search_term": {
        "equalTo": "WireMock"
      }
    }
  },
  "response": {
    "status": 201
  }
}
关于优先级的更多信息

我还想挑战的是,不应该有两个特定的映射都是匹配的——匹配器应该有足够的差异来分隔这两个映射。如果您确实需要两个相同的匹配项,以便模拟数据更改或其他工作流

{
  "priority": 10,
  "request": {
    "url": "/test",
    "queryParameters": {
      "search_term": {
        "matches": "*"
      }
    }
  },
  "response": {
    "status": 204
  }
}