当前位置: 首页 > 知识库问答 >
问题:

如何匹配查询参数键和值在独立wiremck?

施兴言
2023-03-14

我想运行wiremock的独立jar文件,在用户点击特定url后发送一些json数据。

我创建了一个示例json文件并将其放在我的应用程序的映射目录中。

样品json

{


 "request":
    {
      "url": "/data?date=date",
      "method": "GET",
      "queryParameters" : {
          "date" : {
            "matches" : "^\\d{4}-\\d{2}-\\d{2}$"
          }
      }
    },

  "response":
    {
      "status": 200,
      "headers":
        {
          "Content-Type" : "application/json"
        },
      "body": "[{\"a\":\"A\",\"b\":\"B\",\"c\":\"C\"},{\"a\":\"A\",\"b\":\"B\",\"c\":\"C\"}]"
    }
}

我想在浏览器中ping以下url,以便我可以在浏览器上获得json响应。

编辑的url-

192.168.0.5:8080/data?date=2017-02-02

我正在使用下面的命令运行我的应用程序-

java -jar wiremock-standalone-2.6.0.jar

我想将查询参数日期值与请求的查询参数日期值匹配。

我无法在浏览器中看到json响应,因为它无法识别请求的url。

我在写json文件时遗漏了什么?

如何编写查询参数,以便识别输入请求,并在浏览器上提供json响应?

共有3个答案

刘建中
2023-03-14

一种方法是使用regexmockMvc。执行(获取(uri))。withQueryParam(“查询参数名称”,

我们还可以将regex用于查询参数名,这样它就可以模拟任何查询参数名及其值。

朱和惬
2023-03-14

在我的例子中,我有一个常量字符串查询参数,我使用以下方法

@Rule
public WireMockRule wireMockRule = new WireMockRule(8080);

...

private void stubApiEndPoint() {
    stubFor(get(urlEqualTo("/api/users?id=123&name=Tom"))
        .willReturn(aResponse()
            .withStatus(200)));
}
东郭淇
2023-03-14

问题在于如何设置URL模式。您可以直接在url部分或queryParameters块中指定查询参数,但不能同时在两者中指定。

尝试:“urlPath”:“/data”

 类似资料:
  • 在我的程序中,我有类似测试#6的错误:leastcommon({})exp。异常:第16行堆栈跟踪上的IllegalArgumentExceptionyour exceptionNoSuchElementException:NoSuchElementException LestCommon,第16行结果:fail } 如何用我的程序修正?

  • 根据这个问题的公认答案,React路由器4不再匹配查询参数。如果我从一个与我的<code>匹配的URL 例如,许多搜索引擎和其他使用搜索栏的网站,包括我正在工作的网站,都使用一个查询参数,通常是< code>q或< code>query。用户可以搜索一个东西,然后决定这不是他/她想要的,并搜索另一个东西。用户可以键入第二个URL或者再次使用搜索栏进行搜索。URL路径中实际上没有放置搜索词的位置,所

  • 我是Elasticsearch新手,对匹配查询的工作方式感到困惑。我有以下映射: 我批量导入了以下文档 我验证了所有文档都已成功加载。然后我执行匹配查询: 它只返回#1文档。我在这里感到困惑。为什么它不返回所有三个文档?我应该使用什么查询来返回这三个文档,因为它们在字段中都有“quiet”根单词? 谢谢和问候。

  • 问题内容: 我有一对对。是否可以精确匹配&的值,然后检查其范围值? 示例:在doc下面是一个带有名称,值对的数组。我需要检查它是否具有键,然后检查它的值是否小于1000。 以下是我的过滤器。 我还需要检查以下内容,以便返回结果 “ client.name”必须是“ Athena” “ client.db。@ type”必须为“ Oracle”,然后继续进行以下检查 找不到“ client.db.o

  • 问题内容: 我有一些文件: 我想要得到的结果,其匹配的任何值一样 在这种情况下,我想得到结果:一个数组: 我该怎么办?谢谢。 问题答案: 您应该看一下MongoDB 中的运算符。然后将它与find一起使用,以使您的请求更快,可以使用方法:使用它,mongoDB将返回JS对象而不是Mongoose模型/对象。 然后,您可以在结果数组上使用方法: 希望对您有帮助, 最好的问候

  • 我试图更新一个实体与OneToOne关系使用restful Web服务。 我使用自定义查询,但它不工作 错误: java.lang.的参数值[2]不匹配预期的类型[com.mezoo.tdc.model.ActivityType(n/a)] 活动豆 豆子 它是可能的更新没有自定义查询?我想使用下面的POST请求: {"uuid":"9d9fa946-ee6e-408e-9e8a-7a9786a1d