Для моделей, которые передаются в действия через [FromBody]
Мне нравится делать их свойства неизменяемыми public int SomeProperty { get; private set; }
.Таким образом, я знаю, что входные данные для моего обработчика не изменены.
Проблема, с которой я столкнулся, заключается в том, что Swagger и Swashbuckle полностью игнорируют эти поля для отображения примеров полезных нагрузок параметров.Я посмотрел на схему swagger, сгенерированную из нашего API, и увидел, что все упомянутые поля имеют readOnly: true
.
. Мне интересно, есть ли способ настроить Swashbuckler или Swagger, чтобы не игнорировать эти свойства,Или, может быть, есть какой-то способ просто установить readonly в false для каждого определения, используя некоторую часть инфраструктуры расширения SwashBuckle?
Редактировать: Добавление образца из swagger.json
В этом примере someProperty помечен как readOnly,Я думаю, именно поэтому свойство не отображается в сгенерированном примере параметра POST.Если есть способ заставить swagger gen не добавлять какие-либо свойства только для чтения, я бы с этим согласился.
{
"type": "object",
"properties": {
"someProperty": {
"format": "int32",
"type": "integer",
"readOnly": true
},
}
}