কেউ গিথুব এ সমাধান পোস্ট করেছেন তাই আমি এটি এখানে পেস্ট করতে চলেছি। সমস্ত কৃতিত্ব তাঁর কাছে যায়। https://github.com/domaindrivendev/Swashbuckle/issues/153#issuecomment-213342771
প্রথমে একটি অ্যাট্রিবিউট ক্লাস তৈরি করুন
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class)]
public class HideInDocsAttribute : Attribute
{
}
তারপরে একটি ডকুমেন্ট ফিল্টার ক্লাস তৈরি করুন
public class HideInDocsFilter : IDocumentFilter
{
public void Apply(SwaggerDocument swaggerDoc, SchemaRegistry schemaRegistry, IApiExplorer apiExplorer)
{
foreach (var apiDescription in apiExplorer.ApiDescriptions)
{
if (!apiDescription.ActionDescriptor.ControllerDescriptor.GetCustomAttributes<HideInDocsAttribute>().Any() && !apiDescription.ActionDescriptor.GetCustomAttributes<HideInDocsAttribute>().Any()) continue;
var route = "/" + apiDescription.Route.RouteTemplate.TrimEnd('/');
swaggerDoc.paths.Remove(route);
}
}
}
তারপরে সোয়াগার কনফিগার ক্লাসে সেই ডকুমেন্ট ফিল্টারটি যুক্ত করুন
public class SwaggerConfig
{
public static void Register(HttpConfiguration config)
{
var thisAssembly = typeof(SwaggerConfig).Assembly;
config
.EnableSwagger(c =>
{
...
c.DocumentFilter<HideInDocsFilter>();
...
})
.EnableSwaggerUi(c =>
{
...
});
}
}
শেষ পদক্ষেপটি হ'ল হাইডআইনডোকস অ্যাট্রিবিউট] আপনি যে নিয়ামক তৈরি করতে চান না তা নিয়ন্ত্রক বা পদ্ধতিতে বৈশিষ্ট্য যুক্ত করুন ash