我有一个 MVC 4 Web api 应用程序,它接收 json 对象并使用标准模型绑定工具将它们绑定到我的 poco 对象,以便在我的控制器方法中轻松使用。
当我收到的 json 结构直接映射到我的 poco 时,这一切都很好。例如我有一个控制器方法
public HttpResponseMessage Post(DeviceConfigurationDto deviceConfiguration)
和 DeviceConfigurationDto 是
public class DeviceConfigurationDto
{
public long Timestamp { get; set; }
public string DeviceType { get; set; }
public string AssetName { get; set; }
}
}
我发布了以下 JSON
{
"Timestamp": 234234234,
"DeviceType": "A555tom",
"AssetName": "HV103"
}
内置的模型绑定工具在处理变化方面做得很好,比如额外的字段或缺失的字段等等。但如果你把它推得太远。例如通过发布以下 json
[
{
"Fields4": "asda",
"Timestamp": 234234234,
"DeviceType": "A555tom",
"AssetName": "HV103"
},
{
"Timestamp": 234234234,
"DeviceType": "A555tom",
"DedviceType": "A555tom",
"AssetName": "HV103"
}
]
它最终倒下了,我最终将我的方法中的参数设为空。
有没有办法让模型绑定在数据符合预期时工作,但也让我能够获取对模型绑定器来说有问题的数据,以便我可以记录我收到的请求不符合我的预期?
谢谢