gpt4 book ai didi

c# - WebAPI 2.0 Post 未反序列化 List 属性

转载 作者:行者123 更新时间:2023-11-30 17:34:04 25 4
gpt4 key购买 nike

我已经查看了我可以在这里找到的所有类似文章,并尝试了任何看起来可能都没有成功的文章(很明显,因为我现在正在问这个问题)。

我有一个带有 POST 操作的 webAPI 2.0 Controller ,该操作接收 Reservation 类型的对象。此对象包含一个名为 Items 的属性,类型为 EquipmentItems。可以想象,这是一个 List 属性。我发送预订对象(使用 PostAsJsonAsync("api/Reservation", reservation).Result 如果它对任何人都重要)。

当我进入 API Controller 时,Reservation 对象完全填充了除 EquipmentItems 属性之外的所有内容。

本着完全公开的精神,Reservation 类中的 Items 属性实际上定义为一个列表,其中 T 是 IItemData 接口(interface). EquimpentItem 继承自 IItemData,所以不确定这是否会使事情复杂化。

本地 Controller 解串器不能处理 T 是接口(interface)的列表吗?

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

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

最佳答案

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

关于c# - WebAPI 2.0 Post 未反序列化 List<T> 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43008864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com