簡體   English   中英

JSON 有效負載的 Wiremock 請求模板,具有多個允許的密鑰,但響應相同

[英]Wiremock Request Templating for JSON Payload with multiple allowed keys, but same response

嘗試模擬一個 API 端點,該端點允許具有 2 個可能有效負載的請求,但響應相同:

請求選項 1

{
  "key1": "value1"
}

請求選項 2

{
  "key2": "value2"
}

根據請求模板文檔,我看到有一個選項可以為matchesJsonPath定義一些正則表達式。 但是,我無法弄清楚如何提供允許key1key2的配置。

這是我嘗試過的,但它似乎不起作用:

{
  // ... other configs
  "request": {
    "bodyPatterns": [
      {
        "matchesJsonPath": "$.(key1|key2)"
      }
    ]
  }
}

是否可以提供 1 個支持兩種有效負載的定義,還是必須創建 2 個存根?

注意:我使用的是獨立的 Wiremock Docker 圖像,因此使用 Java 進行更復雜處理的選項是有限的。

您的 JsonPath 匹配器格式不正確。 您需要應用過濾器/腳本(由?()表示)。 可以在此處找到有關 JsonPath 匹配器如何工作的更多信息。

以下是正確格式化的 JsonPath 匹配器的樣子:

{
  "matchesJsonPath": "$[?(@.key1 || @.key2)]"
}

如果您需要key1key2具有特定值,則如下所示:

{
  "matchesJsonPath": "$[?(@.key1 == 'value1' || @.key2 == 'value2')]"
}

暫無
暫無

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

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