首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wiremock模板

Wiremock模板
EN

Stack Overflow用户
提问于 2017-10-13 13:32:36
回答 2查看 4.8K关注 0票数 8

我正在使用Wiremock来存根处理移动客户端发出的一些API调用。

努力从请求中获得模板化的文件名。

有人能确认这是否应该甚至与威瑞克独立的工作,请?

代码语言:javascript
复制
"response": { "status": 200, "bodyFileName": "Account-{{jsonPath request.body '$.user.identity'}}.json”}

我有静态文件要返回很好,只是似乎bodyFileName不喜欢模板。

示例:

我用以下Json配置wm:

代码语言:javascript
复制
{
    "request": {
        "method" : "GET",
        "url": "/users/D8428899330"
    },
    "response": {
        "status": 200,
        "bodyFileName": "user-{{request.path.[1]}}.json"
    }
}

然后,当我尝试url,http://localhost:9696/users/D8428899330时,我得到以下错误,

HTTP错误: 500问题访问/用户/D 8428899330。原因: /Users/iainframe/Documents/__files/user-{{request.path.1}}.json : java.lang.RuntimeException: java.io.FileNotFoundException(没有这样的文件或目录)

应该表明文件user-D8428899330.json resides在正确的位置,因为我已经对它进行了硬编码,并且它返回了ok。启动WireMock的命令是:

代码语言:javascript
复制
 java -jar ~/Documents/wm.jar --port 9696 --global-response-templating --verbose --root-dir /Users/iainframe/Documents/ 
EN

回答 2

Stack Overflow用户

发布于 2022-02-03 13:02:34

下面的响应定义在使用响应模板转换器的Wiremock 2.25.1中工作得很好。

代码语言:javascript
复制
  "response": {
     "transformers": ["response-template"],
     "status": 200,
     "bodyFileName": "user-{{jsonPath request.body '$.userid'}}.json" }

这也很好:

代码语言:javascript
复制
"response": {
     "transformers": ["response-template"],
     "status": 200,
     "bodyFileName": "user-{{request.path.[3]}}.json" }
票数 1
EN

Stack Overflow用户

发布于 2022-09-01 18:44:38

有趣的是,我遇到了同样的问题,并且能够通过使用WireMock启动--global-response-templating来解决这个问题。但你也在用那个参数..。如果有关系,我使用的是WireMock 2.33.2。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46731203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档