我正在开发一个API,在其中我可以接收基于其类型有几种可能类型的有效负载。例如
public class Item{};
public class Book : Item{
public string author { get; set; }
public string title { get; set; }
}
public class Movie{
public string title { get; set; }
public string studio { get; set; }
}
public class VideoGame{
public string Name { get; set; }
}
public class StoreItem{
public string upc { get; set; }
public double price { get; set }
public Item item { get; set; }
}
我想做的是让我的控制器能够接受StoreItem
对象
例如
[HttpPost("postItemForSale")]
public object Post(StoreIrem item)
此问题的解决方法基于类型枚举,因此请求json如下所示:
{
upc : "12345",
price : "99.99",
item : {
type : "videoGame",
name : "minesweeper"
}
}
我的问题是无论如何我都可以定义一个映射,假设类型字段是一个枚举,并且每个表示形式都有一个对应的模型。