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

线束:无法基于从 json 正文中查找所需参数来设置存根

窦凯定
2023-03-14

标题可能看起来有点令人困惑。在Mocklab中,我试图做的是创建一个存根,它将根据该请求的json主体上的特定参数或一组参数给我一定的响应。

假设请求的主体如下所示:

{
 "A":{
     "B":{
         "key":"value",
          "key":"value" },
      "C":{
          "key":"value",
          "key":"value"
},

}

我希望它遍历整个主体,并在C中查找键值对,如果找到该对,则给我一个设置的响应。车身其余部分是可选的。

共有1个答案

赏夕
2023-03-14

我将描述的大部分信息都来自这里。

我认为你可以做这样的事情:

givenThat(post(urlEqualTo("/foo")).withRequestBody(matchingJsonPath("$.A.B.C.key", equalTo("value")))

如果需要匹配多个键:值对,可以使用RequestBody添加其他

givenThat(post(urlEqualTo("/foo")).withRequestBody(matchingJsonPath("$.A.B.C.key2", equalTo("value"))).withRequestBody(matchingJsonPath("$.A.B.C.key2, equalTo("value")))

如果你的逻辑开始变得更加棘手,我建议你考虑创建自定义匹配器。

 类似资料:
  • 我正在尝试执行以下操作以避免稍后未选中的转换: 强制取消行上未选中得强制转换: 我如何做到这一点而不需要抑制?

  • 目前正在使用flyway来版本数据库脚本。我正处于我想要基线数据库版本(版本10)的位置,这样当我迁移新脚本时,它不会扫描/验证以前的脚本。 我尝试了以下陈述: 但是,当我尝试运行此语句时,我得到以下错误: 是否有人能够提供我无法对现有数据库进行基线设置的任何原因(即使Flyway基线设计用于对现有数据库进行基线设置-查看文档)? 如有任何建议,不胜感激 谢谢

  • Mybatis抛出一个错误,该错误表示设置参数有问题。会出什么问题?我测试了SQL查询,它很好。我在用graddle和Spring。 控制器 表

  • 我正在尝试使用线子 JSON 存根文件模拟查询参数。 它的工作原理,当我这样做: 但是,当我更改查询参数以使用这样的专用字段时,它不再起作用: 知道为什么吗? 测试请求看起来像 http://some-host/posts?id=1

  • 我有一个应用程序,在本地工作很好,但在客户端,它崩溃,因为一个POST参数是NULL。 此返回为NULL。 因此,我添加了一个过滤器来记录请求的get/post/body。在本地,日志如下所示: [方法:post][请求URI://peps/zkau][请求参数:{dtid=z_0n8,uuid_0=x38pz,data_0={“pagex”:372,“pagey”:103,“which”:1,“

  • 问题内容: 码: 忽略字符串中的其他内容(最小,最大和范围),但对于此行, 我收到一个错误: 必需:double [] 找到:无参数 为什么会出现此错误,我应该更改什么? 问题答案: 您以这种方式调用方法calculateAverage :,不带任何参数。但是方法是这样声明的: 因此,它需要一个type类型的参数,但是您什么也不传递。