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接口。 EquimpentIteminheritance自IItemData ,因此不确定这是否会使问题复杂化。

本机控制器反序列化器可以不处理T是接口的List吗?

我所知道的是将List定义为常规数组。 这非常有效,但我有其他要求导致我使用List。

有关如何正确反序列化List属性的任何建议?

正确。 如果您尝试反序列化为List ,那么它将无法正常工作。 原因是反序列化操作不知道您希望实际创建哪个ISomething(您不能初始化ISomething,因为它不是具体的类)。 您需要更改服务接口以显示列表的具体类。 (即List )。