[英]How to return WireMock server port in a response body
我有請求將 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中設置服務器端口?
你不能(還)直接抓取服務器端口,但是你可以獲得入站端口,這通常具有相同的效果:
{{{request.requestLine.port}}}
要解決這個問題,@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"
]
}
}
注意力! 不要忘記添加“變形金剛”:[“響應模板”]
"response": {
...
"jsonBody": { "url": "http://localhost:{{port.request}}" },
"transformers": ["response-template"]
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.