如何从Asp.Net Core WebApi返回多态列

时间:2019-05-18 07:45:29

标签: c# rest asp.net-core polymorphism asp.net-core-webapi

我想从我的Asp.Net Core WebApi控制器返回List<UserFavoriteDto>NavigationParams列包含各种类型的序列化JSON数据,即DeveVersionNavigationParamsDtoHeroNavigationParamsDto。该数据类型的决定因素是Category列(枚举类型)。

当前,我以string的形式返回NavigationParams,并根据Category的值在客户端上反序列化此列。

但是我不确定这是否是最合适的方法吗?返回类型为object而不是string的列会更好吗?还是一些常见的祖先类型?如何在Asp.Net Core中做到这一点?

public class UserFavoriteDto
{
    public int IdUserFavorite { get; set; }
    public UserFavoriteCategory Category { get; set; }
    public string Name { get; set; }
    public string NavigationParams { get; set; }
}

public enum UserFavoriteCategory : int
{
    DeveVersion = 1,
    Hero = 2
}

public class DeveVersionNavigationParamsDto
{
    public int IdDeveVersion { get; set; }
}

public class HeroNavigationParamsDto
{
    public string HeroName { get; set; }
}

0 个答案:

没有答案