Как настроить Swashbuckle так, чтобы он игнорировал свойства моделиC#

Место общения программистов C#
Ответить
Anonymous
 Как настроить Swashbuckle так, чтобы он игнорировал свойства модели

Сообщение Anonymous »

Я использую Swashbuckle для создания документации \UI Swagger для проекта webapi2. Наши модели используются совместно с некоторыми устаревшими интерфейсами, поэтому есть несколько свойств, которые я хочу игнорировать в моделях. Я не могу использовать атрибут JsonIgnore, поскольку устаревшие интерфейсы также нуждаются в сериализации в JSON, поэтому я не хочу игнорировать свойства глобально, только в конфигурации Swashbuckle.

Я нашел метод сделать это, описанный здесь:

https://github.com/domaindrivendev/Swas ... /issues/73

Но Похоже, это устарело в текущей версии Swashbuckle.

Метод, рекомендуемый для старой версии Swashbuckle, использует реализацию IModelFilter следующим образом:

Код: Выделить всё

public class OmitIgnoredProperties : IModelFilter
{
public void Apply(DataType model, DataTypeRegistry dataTypeRegistry, Type type)
{
var ignoredProperties = … // use reflection to find any properties on
// type decorated with the ignore attributes

foreach (var prop in ignoredProperties)
model.Properties.Remove(prop.Name);

}
}

SwaggerSpecConfig.Customize(c => c.ModelFilter());
Но я не уверен, как настроить Swashbuckle для использования IModelFilter в текущей версии? Я использую Swashbuckle 5.5.3.

Подробнее здесь: https://stackoverflow.com/questions/410 ... y-on-model
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»