gro*_*eto 5 c# swagger swashbuckle
我已经关注了最上面的文章:.Net Core 3.1 Remove Schema on Swagger UI
我应用了这个过滤器:
public class RemoveSchemasFilter : IDocumentFilter
{
public void Apply(OpenApiDocument swaggerDoc, DocumentFilterContext context)
{
IDictionary<string, OpenApiSchema> _remove = swaggerDoc.Components.Schemas;
foreach (KeyValuePair<string, OpenApiSchema> _item in _remove)
{
swaggerDoc.Components.Schemas.Remove(_item.Key);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我已经在这里添加了:
services.AddSwaggerGen(options =>
{
options.OperationFilter<AddRequiredHeaderParameter>(Configuration.GetSection("DefaultConfig")["TenantId"]);
options.DocumentFilter<RemoveSchemasFilter>();
}
Run Code Online (Sandbox Code Playgroud)
所有好的架构都从 Swagger UI 的底部删除。然而,当我点击一个方法时,它会带来一个错误对话框。它可以工作,但是这个窗口保持在顶部,这非常烦人。
让我们一起解决这个以前没有解决的问题!
模式过滤器没有用。
所有需要做的事情都在
app.UseSwaggerUI(options =>
{
options.DefaultModelsExpandDepth(-1);
}
Run Code Online (Sandbox Code Playgroud)
注意:这是默认模型而不是默认模型。差异是 DefaultModel 是 model-example 部分中模型的默认扩展深度,而 DefaultModels 是模型的扩展深度。