我已经查阅了这里可以找到的所有类似文章,并尝试了任何看起来可能有效的方法,但都没有成功(显然因为我现在正在提问)。
我有一个WebAPI 2.0控制器,其中包含一个POST操作,该操作接受一个名为Reservation
的对象。 除其他外,此对象包含名为Items
的属性,其类型为EquipmentItems
。 正如您所想象的那样,这是一个列表属性。 我通过PostAsJsonAsync("api/Reservation", reservation).Result
将预订对象发送过去(如果对任何人有用的话)。
当我进入API控制器时,Reservation
对象完全填充了除EquipmentItems
属性之外的所有内容。
为了全面披露,Reservation
类中的Items
属性实际上被定义为一个List,其中T是IItemData
接口。 EquimpentItem
继承自IItemData
,因此不确定是否会复杂化问题。
本机控制器反序列化程序不能处理T为接口的列表吗?
我知道可以将List定义为常规数组。 这非常有效,但我有其他要求,因此我选择使用List。
您有关于如何正确反序列化该List属性的任何建议吗?