Можно ли скрыть член Enum в Swashbuckle.AspNetCore? - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть перечисление, такое как

public enum SampleFormats
{
   unknown = 0,
   audio = 1,
   video = 2,
}

Можно ли декорировать элемент unknown таким образом, чтобы он исключался сгенерированным чванством json?

Возможно, я мог бынаписать фильтр схемы / документа, но мне было интересно, есть ли что-то из коробки.

1 Ответ

0 голосов
/ 13 сентября 2018

Вы можете попробовать это:

public enum SampleFormats
{
    unknown = 0,
    audio = 1,
    video = 2,
}

public class ResultModel
{
    public SampleFormats Format { get; set; }

    [JsonIgnore]
    public bool FormatSpecified
    {
        get { return Format != SampleFormats.unknown; }
    }

    public string Name { get; set; }
}

[HttpGet()]
[AllowAnonymous]
public async Task<ResultModel> Get()
{
    return new ResultModel { Format = SampleFormats.unknown, Name = "Test" };
}

Магический трюк - это суффикс Specified, который указывает, что свойство будет отображено Newtonsoft.Json

...