ServiceStack OpenAPI Swagger 排除“auth”方法

问题描述 投票:0回答:1

如何从我的 ServiceStack 应用程序的 Swagger 文档中排除屏幕截图中圈出的这些基本“auth”方法? enter image description here

servicestack openapi swagger-ui
1个回答
0
投票

OpenAPI v3 中,可以使用 Swashbuckle DocumentFilter 删除它们,您可以在启用 Swagger 的位置进行注册:

services.AddSwaggerGen(c => {
    c.DocumentFilter<OpenApiDocumentFilter>();
});

文档过滤器删除所有您不需要的路径:

public class OpenApiDocumentFilter(OpenApiMetadata metadata) : IDocumentFilter
{
    public void Apply(OpenApiDocument doc, DocumentFilterContext context)
    {
        doc.Paths.Remove("/auth");
        doc.Paths.Remove("/auth/{provider}");
        doc.Paths.Remove("/assignroles");
        doc.Paths.Remove("/unassignroles");
    }
}

Open API v2 中,可以使用

ApiDeclarationFilter
删除它们,例如:

Plugins.Add(new OpenApiFeature
{
    ApiDeclarationFilter = doc => {
        doc.Paths.Remove("/auth");
        doc.Paths.Remove("/auth/{provider}");
        doc.Paths.Remove("/assignroles");
        doc.Paths.Remove("/unassignroles");
    }
});
© www.soinside.com 2019 - 2024. All rights reserved.