Как вернуть полиморфный столбец из Asp.Net Core WebApi - PullRequest
0 голосов
/ 18 мая 2019

Я хочу вернуть List<UserFavoriteDto> с моего контроллера Asp.Net Core WebApi.Столбец NavigationParams содержит сериализованные данные JSON различных типов, например DeveVersionNavigationParamsDto или HeroNavigationParamsDto.Определителем типа этих данных является столбец Category (типа enum).

В настоящее время я возвращаю NavigationParams как string и десериализовываю этот столбец на клиенте в зависимости от значения 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; }
}
...