c# - 删除 Swagger UI 上的架构 - 续
问题描述
我关注了上面的文章:.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);
}
}
}
我在这里添加了它:
services.AddSwaggerGen(options =>
{
options.OperationFilter<AddRequiredHeaderParameter>(Configuration.GetSection("DefaultConfig")["TenantId"]);
options.DocumentFilter<RemoveSchemasFilter>();
}
所有好的 Schema 都从 Swagger UI 的底部移除。但是,当我单击一个方法时,它会带来一个错误对话。它可以工作,但是这个窗口保持在顶部,这很烦人。
让我们一起解决这个问题,因为它以前没有解决!
解决方案
模式过滤器是无用的。
所有需要做的都在
app.UseSwaggerUI(options =>
{
options.DefaultModelsExpandDepth(-1);
}
注意:这是默认模型而不是默认模型。DIfference is DefaultModel 是模型示例部分中模型的默认扩展深度,而 DefaultModels 是模型的扩展深度。
推荐阅读
- android - 软件渲染不支持硬件位图 canvas.drawBitmap
- java - 如果类是使用 Kotlin 创建的,则无法调试我的 Android 库
- r - 在 R 中创建有序结构并从中检索值的最快方法
- javascript - formArray 中的 formGroupName 不起作用,出现错误 -> 找不到带有路径的控件:'fields -> 0 -> unit -> conversion_needed'
- javascript - 存储对象的等待变量的属性显示为未定义
- mongodb - 为 GraphQL 输出解析自动生成的 typescript-mongodb 类型
- typescript - 我可以导入一个库,以便它的功能可以作为一个文件中的全局变量使用吗?
- hpc - Snakemake:如何实现将输入/输出文件复制到/从 tmp 文件夹并在那里应用规则的机制
- r - 如何让辅助函数从主函数继承变量
- javascript - 在不同页面之间保留所选语言