簡體   English   中英

Wiremock 沒有模板化請求路徑段

[英]Wiremock not templating request path segments

我正在嘗試使用request.pathSegments在響應中呈現一些信息,並且該占位符為空...

使用 2.26

Wiremock 獨立啟動 cmd:

java -jar./wiremock.jar --root-dir "/usr/share/wiremock" --verbose --local-response-template

存根定義:

{
  "mappings": [
    {
      "request": {
        "method": "GET",
        "urlPathPattern": "/v2/path/data/.*"
      },
      "response": {
        "status": 200,
        "headers": {
          "Content-Type": "application/json"
        },
        "bodyFileName": "responses/data.json",
        "transformers": ["response-template"]
      }
    }
  ]
}

模板位於 __files/responses/data.json:

{
  "data": [
    {
      "id": "{{request.pathSegments.[3]}}",
      "type": "values"
    },
    {
      "id": "{{request.pathSegments.[3]}}",
      "type": "values"
    }
  ]
}

調用http://localhost:8000/v2/path/data/foo

預期的:

{
  "data": [
    {
      "id": "foo",
      "type": "values"
    },
    {
      "id": "foo",
      "type": "values"
    }
  ]
}

實際的:

{
  "data": [
    {
      "id": "",
      "type": "values"
    },
    {
      "id": "",
      "type": "values"
    }
  ]
}

我嘗試在模板中使用 {{ request.path {{request.path}}並且正確呈現。

如果有人能發現我錯過了什么......

嘗試使用三把車把和path而不是pathSegments


  "data": [
    {
      "id": "{{{request.path.[3]}}}",
      "type": "values"
    },
    {
      "id": "{{{request.path.[3]}}}",
      "type": "values"
    }
  ]
}

我發現這方面的文檔有些模糊,我通常默認為三倍,如果三倍不起作用,則嘗試雙倍。 我也盡可能避免使用pathSegments

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM