如何在API中处理类似的模型
本文关键字:模型 处理 API | 更新日期: 2023-09-27 18:06:40
目前,我正在开发一个API,将由移动和web应用程序消耗。我遇到的一个问题是,我有太多相似的dto模型。例如,考虑下面这个:
public class DeviceModel
{
public int DevicesID { get; set; }
public string DeviceUID { get; set; }
public string MACAddress { get; set; }
public bool Allowed { get; set; }
public UserModel Owner { get; set; }
}
我经常使用的。现在,我需要这个模型的另一个变体,看起来像这样:
public class DeviceModelVariation
{
public int DevicesID { get; set; }
public string DeviceUID { get; set; }
public string MACAddress { get; set; }
}
处理这种相似模型的最佳实践是什么?有2个甚至3个类似的dto可以吗?
您可以创建一些具有公共属性的基本模型。更具体的模型可以从它们继承。当然,只是以防万一,这些属性是很常见的。它还将简化维护。
在您的情况下(我会将DeviceModelVariation
命名为DeviceModelBase
,因为它包含所有'基础'字段):
public class DeviceModelBase
{
public int DevicesID { get; set; }
public string DeviceUID { get; set; }
public string MACAddress { get; set; }
}
public class DeviceModel : DeviceModelBase
{
public bool Allowed { get; set; }
public UserModel Owner { get; set; }
}