0

Request は、異なる署名を持つメッセージのバッチを提供し、このメッセージの「メタデータ」も提供します。したがって、例は非常に単純です。

{
    "SomeProp": 1,
    "Messages": [{
            "Type": "SomeMessage1",
            "Body": {
                "Id": 1,
                "Action": "Delete"
            }
        },
        {
            "Type": "AnotherMessage",
            "Body": {
                "Amount": 0.001,
                "Data": "data",
                "Ok": "True"
            }
        }
    ]
}

したがって、タスクは、各 'Messages[i].Body' 式をバインドすることです。これまでに見た唯一の解決策は、リクエスト本文の文字列全体を解析し、すべての「共通」プロパティを逆シリアル化することです。そして、すべてを手動で行います。

独自の IModelBinder を作成しようとしましたが、Messages[i].Type から値を抽出し、リクエストの部分的な逆シリアル化を行いましたが、デフォルトの ValuePropviders はモデルとそのパーツに対して null を返します。

残念ながら、これ以上のアイデアはありません。

4

0 に答える 0