Параметр body требуется для Swagger 4.0 Asp.net core 2.2 - PullRequest
0 голосов
/ 13 февраля 2019

Я использую Swagger 4.0 с Asp.net core 2.2 Web Api.Я хочу сообщить пользовательскому интерфейсу swagger о методе post / put, что некоторые параметры содержимого тела являются обязательными.Как я знаю, что если параметр является параметром запроса, то это обязательно.Провел некоторое исследование https://swagger.io/docs/specification/2-0/describing-request-body/ и обнаружил, что содержание тела можно сделать обязательным

swagger document

Некоторые исследования по другой ссылке

Как пометить свойство как требуется в Swagger, без проверки модели ASP.NET?

Как я могу сказать Swashbuckle, что требуется содержание тела?

Код контроллера

[HttpPost]
        public async Task<IActionResult> Create([FromBody]LearningApplication model)
        {
            if (!ModelState.IsValid) return InvalidModelState(ModelState);

            // create the record,no need to provide resource auth as only admin can action this controller
            await _learningApplicationManager.CreateAsync(model, LearningApplicationValidator.OnCreateRuleset);

            return Created(url, model);
        }

Модель

public class LearningApplication : BaseAuditableWithLogicalDeleteAggregate<Guid>
    {

        [Required(AllowEmptyStrings = false, ErrorMessage = "You must enter the name of the course or professional Learning session")]
        [DataMember]
        public string CourseName { get; set; }

        [Required(AllowEmptyStrings = false, ErrorMessage = "You must enter the professional Learning provider: ie. TGS, AGSV, etc")]
        [DataMember]
        public string Provider { get; set; }

        [DataMember]
        public string EventWebsite { get; set; }

        [DataMember]
        public string RegistrationExpenses { get; set; }

        [Required(ErrorMessage = "Please provide the Start Date & time")]
        [DataMember]
        public DateTime? StartDateTime { get; set; }
}

Текущий дисплей Swagger

current swagger

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