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

时间:2019-09-17 10:54:28

标签: java json spring-boot 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中设置服务器端口?

2 个答案:

答案 0 :(得分:1)

您还不能直接获取服务器端口,但是可以获得入站端口,通常具有相同的作用:

{{{request.requestLine.port}}}

答案 1 :(得分:0)

要解决此问题,建议@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"
    ]
  }
}