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

动态wiremck捕获路径参数并返回响应

孟浩慨
2023-03-14

我正在尝试使用WireMock创建动态模拟。我有一个情况,如果我指定URL,如

<代码>http://localhost:8989/api/account/121

那我应该收到这样的回复:

   "cycleSpecification": {
       "id": "121"
        }
  }

简而言之,path param在响应体中返回,但是我不确定应该如何捕获121并使用wiremock在响应中返回它。

对于这种请求

/myManagement/v1/source?filters=myParty.id==539&&myParty.role==individual

或者

/myManagement/v1/source?filters=myParty.id%3D%3D539%26myParty.role%3D%individual

我可以使用什么,所以响应将过滤掉id和角色并放入响应中。

我正在使用独立的线框罐2.27.2来创建线轮服务器。

共有1个答案

程旭尧
2023-03-14

您可以通过使用响应模板来实现这一点。您需要将< code >-global-response-templating 添加到如何启动独立服务器中,然后您就可以使用响应模板了。

我想你会想要这样的东西:

{
  "request" : {
    "urlPathPattern" : "/api/account/.*",
    "method" : "GET"
  },
  "response" : {
    "status" : 200,
    "body" : "{ \"cycleSpecification\": { \"id\": \"{{request.path.[2]}}\" } }"
  }
}

查看关于请求模型的文档以获得更多信息

对于您的第二个问题,如果查询参数作为单独的查询参数发送,您将能够使用请求模型引用它们。

{
  "request" : {
    "urlPathPattern" : "/api/account/.*",
    "method" : "GET",
    "queryParameters": {
        "myParty.id" : {
            "matches": ".*"
        },
        "myParty.role": {
            "matches": ".*"
        }
    }
  },
  "response" : {
    "status" : 200,
    "body" : "{ \"cycleSpecification\": { \"id\": \"{{request.query.party.id}}\" } }"
  }
}

由于看起来查询参数不是单独发送的,因此不幸的是,我认为您需要创建一个转换器来修改您的响应。

 类似资料:
  • 我正在尝试使用WireMock创建动态模拟。我有一个情况,如果我指定URL,如 对于这种要求 我可以使用什么,所以响应将过滤掉id和角色并放入响应中。 我正在使用独立的线框罐2.27.2来创建线轮服务器。

  • 我正在尝试使用WireMock创建动态模拟。我有一种情况,如果我指定如下URL: 那么我应该会收到如下响应: 简而言之,路径参数在响应正文中返回。我可以通过使用设置为urlPath模式使请求URL通用。但是,我不确定应该如何捕获abc@abc.com并使用正则表达式在响应中返回此值。

  • 我正在研究一个使用反射调用另一个方法的方法。然而,“其他方法”可以引发异常,我想用它的原始堆栈信息和内部异常来传播该异常。这只是因为使用反射的方法不应该处理异常,调用方应该处理异常。 下面是代码的简化版本: 该代码显然不会编译,因为Test方法(根据编译器)并不总是返回值。我可以在异常DispatchInfo之后添加一个return false。捕获,但我想知道是否有更好的方法来实现同样的目标。不

  • 我想要能够让我的catch请求用户输入文件名,直到文件名有效为止,有没有人能给我一个建议,如何安排我的代码做到这一点? 导入java.io.FileNotFoundException;导入java.util.scanner; public class Requierment2{public static void main(String[]args){ }

  • 本文向大家介绍ASP的Server.MapPath()不同参数返回路径总结,包括了ASP的Server.MapPath()不同参数返回路径总结的使用技巧和注意事项,需要的朋友参考一下 在使用Server.MapPath()的时候,有很多的参数,什么绝对路径啊,相对路径啊,这些不复杂但是很容易弄混淆的东西,这里将他做一个整理。 如果当前的网站目录为E:\wwwroot 应用程序虚拟目录为E:\www

  • 有没有可能在postgres中做这样的事情: 错误:运算符不存在:jsonb#>TEXT 没有与给定名称和参数类型匹配的运算符。您可能需要添加显式类型转换。