微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Swagger UI上删除架构-续

如何解决在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>();
             }

所有好的架构都从Swagger UI的底部删除。但是,当我单击某个方法时,会带来错误对话框。它可以正常工作,但是该窗口一直停留在顶部,非常烦人。

enter image description here

让我们一起解决这个问题吧!

解决方法

模式过滤器没有用。

所有要做的事情都在

app.UseSwaggerUI(options =>
{
                options.DefaultModelsExpandDepth(-1);

}

注意:这是默认模型而不是默认模型。不同之处在于DefaultModel是模型示例部分中模型的默认扩展深度,而DefaultModels是模型的扩展深度。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。