为了账号安全,请及时绑定邮箱和手机立即绑定

如何在响应正文中返回 WireMock 服务器端口

如何在响应正文中返回 WireMock 服务器端口

Smart猫小萌 2023-08-04 16:30:52
我有一个将 WireMock URL 返回到另一个 WireMock 存根的请求。你在 CI 工具上遇到问题,端口 8080 被占用,所以我必须使用随机端口。@AutoConfigureWireMock(port = 0)十个端口是随机的我无法正确模拟端口。我映射 JSON 时出现错误:{  "priority": 1,  "request": {    "method": "GET",    "url": "/api/public/v3/tasks/taskid123"  },  "response": {    "status": 200,    "jsonBody": {      "info": {        "result_callbacks": [{          "url": "http://localhost:${wiremock.server.port}/download/zip/result"        }]      }    },    "headers": {      "Content-Type": "application/json; charset=utf-8"    }  }}如何在映射 JSON 中设置服务器端口?
查看完整描述

3 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

你还不能直接获取服务器端口,但你可以获取入站端口,这通常具有相同的效果:

{{{request.requestLine.port}}}


查看完整回答
反对 回复 2023-08-04
?
Qyouu

TA贡献1786条经验 获得超11个赞

注意力!不要忘记添加 “transformers”:[“response-template”]


"response": {

   ...

   "jsonBody": { "url": "http://localhost:{{port.request}}" },

   "transformers": ["response-template"]

   ...

}


查看完整回答
反对 回复 2023-08-04
?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

要解决这个问题,谢谢@Tom的建议是:


{

  "priority": 1,

  "request": {

    "method": "GET",

    "url": "/api/public/v3/tasks/taskid123"

  },

  "response": {

    "status": 200,

    "jsonBody": {

      "info": {

        "result_callbacks": [{

          "url": "http://localhost:{{request.requestLine.port}}/download/zip/result"

        }]

      }

    },

    "headers": {

      "Content-Type": "application/json; charset=utf-8"

    },

    "transformers": [

      "response-template"

    ]

  }

}


查看完整回答
反对 回复 2023-08-04
  • 3 回答
  • 0 关注
  • 91 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信