Asp.net web api 域和序列化对象之间的ASP.net Web Api层

Asp.net web api 域和序列化对象之间的ASP.net Web Api层,asp.net-web-api,Asp.net Web Api,在标准.NETMVC中,我们有域类和模型视图类。现在,对于ASP.NETWebAPI,我想不需要ModelView类(因为我们正在返回数据),但是我们应该直接返回(序列化的)域类,还是需要介于两者之间的类 // Domain class public class User { public int Id {get;set;} public string FirstName {get;set;} public string LastName {get;set;} } // inter

在标准.NETMVC中,我们有域类和模型视图类。现在,对于ASP.NETWebAPI,我想不需要ModelView类(因为我们正在返回数据),但是我们应该直接返回(序列化的)域类,还是需要介于两者之间的类

// Domain class
public class User {
  public int Id {get;set;}
  public string FirstName {get;set;}
  public string LastName {get;set;}
}

// inter class
public class ProductModel {
  public int Id {get;set;}
  public string FirstName {get;set;}
  public string LastName {get;set;}
  public string FullName {get {return String.Format("{0} {1}", FirstName, LastName);}}
}

// Controller V1 returns Product    
public class UserController : ApiController 
{
   public Product GetProduct(int id) {...}
}

// Controller V2 returns ProductModel     
public class UserController : ApiController 
{    
   public ProductModel GetProduct(int id) {...}
}

在API中公开域模型很少是个好主意


如果您是唯一一个使用API的人,并且您可以确保以完全相同的频率将更新部署到客户端和服务器,那么您可能可以使用此快捷方式,但是,我不推荐使用此快捷方式。

Sample?使用什么?从域类映射的模型类或。。。?