请求提供了一批具有不同签名的消息,并且还提供了该消息的“元数据”。因此,示例非常简单:
{
"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。
不幸的是,我没有更多的想法了。