WebAPI 2.0 Post未反序列化List 属性
我已经回顾了我在这里可以找到的所有类似的文章,并尝试了任何看起来可能没有成功的事情(因为我现在正在问这个问题)。
我有一个带有POST操作的webAPI 2.0控制器,它接受一个类型为Reservation
的对象。 除其他外,该对象包含名为Items
的属性,该属性属于EquipmentItems
类型。 可以想象,这是一个List属性。 我发送预订对象(使用PostAsJsonAsync("api/Reservation", reservation).Result
如果它对任何人PostAsJsonAsync("api/Reservation", reservation).Result
重要)。
当我进入API控制器时, Reservation
对象完全填充了除EquipmentItems
属性之外的所有内容。
本着完全公开的精神, Reservation
类中的Items
属性实际上被定义为List,其中T是IItemData
接口。 EquimpentItem
inheritance自IItemData
,因此不确定这是否会使问题复杂化。
本机控制器反序列化器可以不处理T是接口的List吗?
我所知道的是将List定义为常规数组。 这非常有效,但我有其他要求导致我使用List。
有关如何正确反序列化List属性的任何建议?
正确。 如果您尝试反序列化为List
,那么它将无法正常工作。 原因是反序列化操作不知道您希望实际创建哪个ISomething(您不能初始化ISomething,因为它不是具体的类)。 您需要更改服务接口以显示列表的具体类。 (即List
)。
上述就是C#学习教程:WebAPI 2.0 Post未反序列化List 属性分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/943203.html