猿问

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

我有一个将 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 中设置服务器端口?


Smart猫小萌
浏览 144回答 3
3回答

狐的传说

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

Qyouu

注意力!不要忘记添加 “transformers”:[“response-template”]"response": {   ...   "jsonBody": { "url": "http://localhost:{{port.request}}" },   "transformers": ["response-template"]   ...}

哈士奇WWW

要解决这个问题,谢谢@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"    ]  }}
随时随地看视频慕课网APP

相关分类

Java
我要回答