【问题标题】:Asp.Net Core Swagger Sort Tags AlphabeticallyAsp.Net Core Swagger 按字母顺序对标签进行排序
【发布时间】:2022-05-04 16:52:31
【问题描述】:

我正在使用 asp.net core 6 和 Swashbuckle.AspNetCore

我在我的操作中使用了 SwaggerAnnotations

但我的标签组没有排序

这是我的 Swagger UI 页面


我的 Program.cs :

builder.Services.AddSwaggerGen(c => {
  c.SwaggerDoc("v1", new OpenApiInfo {
    Title = "Api", Version = "v1"
  });
  c.EnableAnnotations();
});

 ....

var app = builder.Build();

app.UseSwagger();
app.UseSwaggerUI(c => {
  c.SwaggerEndpoint("/swagger/v1/swagger.json", "Shoppy.WebApi");
  c.InjectStylesheet("/swagger-ui/css/custom.css");
});

【问题讨论】:

    标签: c# asp.net-core swagger swagger-ui


    【解决方案1】:

    我找到了解决办法

    我创建了这个对标签进行排序的自定义 DocumentFiler

    public class OrderTagsDocumentFilter: IDocumentFilter 
    {
        public void Apply(OpenApiDocument swaggerDoc, DocumentFilterContext context) 
        {
            swaggerDoc.Tags = swaggerDoc.Tags
                 .OrderBy(x => x.Name).ToList();
        }
    }
    
    

    并将其添加到 Program.cs

    
    services.AddSwaggerGen(c => {
      c.SwaggerDoc("v1", new OpenApiInfo {
        Title = "Shoppy.WebApi", Version = "v1"
      });
      c.EnableAnnotations();
    
      c.DocumentFilter<OrderTagsDocumentFilter>();
    });
    
    

    【讨论】:

      猜你喜欢
      • 2010-09-18
      • 1970-01-01
      • 2011-08-29
      • 2017-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多