Comment configurer Swashbuckle ignorer propriété sur le modèle

Je suis l'aide de Swashbuckle pour générer swagger documentation\INTERFACE utilisateur pour un webapi2 projet. Nos modèles sont partagés avec certaines interfaces héritage donc, il ya un couple de propriétés à ignorer les modèles. Je ne peux pas utiliser JsonIgnore attribut parce que l'héritage d'interfaces également besoin de sérialiser en JSON, donc je ne veux pas ignorer les propriétés à l'échelle mondiale, dans la Swashbuckle de configuration.

J'ai trouvé une méthode de faire ce documentée ici:

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

Mais cela semble être hors de date avec le courant de Swashbuckle libération.

La méthode recommandée pour l'ancienne version de Swashbuckle est à l'aide d'un IModelFilter mise en œuvre comme suit:

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<OmitIgnoredProperties>());

Mais je n'en suis pas sûr comment configurer Swashbuckle d'utiliser le IModelFilter dans la version actuelle? Je suis l'aide de Swashbuckle 5.5.3.

vous pouvez réellement utiliser JsonIgnore propety qui ne sera pas la propriété de l'arrogance
Comme mentionné dans la question, je ne veux pas utiliser JsonIgnore comme je l'ai hérité de code qui doit également utiliser les modèles, et si je demande JsonIgnore qui affectera swagger et le code héritage...

OriginalL'auteur mutex | 2016-12-06