如何在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可以吗?

如何在API中处理类似的模型

您可以创建一些具有公共属性的基本模型。更具体的模型可以从它们继承。当然,只是以防万一,这些属性是很常见的。它还将简化维护。

在您的情况下(我会将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; }
}