Как скрыть свойство просто в пост-запросе описания чванства с помощью swashbuckle? - PullRequest
0 голосов
/ 14 апреля 2020

Я новичок в ASP. NET Core, и этот вопрос выглядит простым, но я не смог найти правильного решения в Интернете. Так вот в чем проблема.
Это структура класса, который я использую.

public class Alert
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public string AlertId { get; set; }
    public string Type { get; set; }

}

Это описание API Post request в swagger.

{
  "alertId": "string",
  "type": "string"
}

Так как я использую [DatabaseGenerated(DatabaseGeneratedOption.Identity)] аннотацию alertId в почтовом запросе необязательно. Моя цель - скрыть alertId только от описания запроса поста.
Я использую ASP. NET Core 3.1, EF Core (3.1.1) и Swashbuckle.AspDotNetCore (5.1.0).
Пожалуйста, помогите.
Спасибо.

1 Ответ

0 голосов
/ 15 апреля 2020

Вы можете добавить атрибут [JsonIgnore] в поле AlertId, чтобы гарантировать, что почтовый запрос не получит содержимое AlertId.

  public class Alert
    {
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        [JsonIgnore]
        public string AlertId { get; set; }
        public string Type { get; set; }

    }

Вот результат теста:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...