5

スタンドアロンのワイヤーモックで API モックを作成しようとしています。応答本文は、要求本文の属性に依存します。

JSON を使用すると、それが可能になりました。サンプル マッピングは次のとおりです。

{
   "request":{
      "method":"POST",
      "bodyPatterns":[
         {
            "matchesJsonPath":"$.somekey.subkey[?(@.attribute == 'VALUE_123')]"
         }
      ]
   },
   "response":{
      "status":200,
      "bodyFileName":"res.dat",
      "headers":{
         "Content-Type":"application/x-proto;charset=UTF-8"
      }
   }
}

ただし、私の主な要件は google protobuf を処理することであり、モッカーが応答のために API をモックするために使用する代わりにテキスト形式を使用しようとしています。したがって、リクエスト ファイルはテキスト形式であり、二重引用符や各行の末尾のコンマなどの JSON 検証はありません。

JSON パスを使用すると、wiremock が不適切な形式のためにリクエスト本文と一致しないことがわかりました。たとえば、次のようなリクエストです。

{
animal {
type {
key1: "value"
key2: value2
}
}
}

それ以外の

{  
   "animal":{  
      "type":{  
         "key1":"value",
         "key2":"value2"
      }
   }
}

key1=value1が一致して返さresponse1.jsonれる必要がある、またはkey1=someOtherValueの場合は返される必要があるとしresponse2.jsonましょう。はい、キーは型の一部であり、型は動物の一部です。このリクエストボディの一致を達成するにはどうすればよいですか?

4

1 に答える 1

3

あなたはただ行うことができます:

{
  "request": {
  "method": "POST",
    "url": "/authorize/oauth2/token",
    "bodyPatterns": [ {
          "matches": ".username=(test)&."
      }
    ]
  },
  "response": {
    "status": 200,
    . . .

またhttps://github.com/tomakehurst/wiremock/issues/575

于 2017-01-17T08:24:12.723 に答える