如何基于WebAPI中的参数绑定模型

时间:2018-06-28 20:46:54

标签: c# asp.net asp.net-web-api

我正在开发一个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"
         }
}

我的问题是无论如何我都可以定义一个映射,假设类型字段是一个枚举,并且每个表示形式都有一个对应的模型。

0 个答案:

没有答案