2

我有一个想要使用 Swagger 的 ASP.Net Core 解决方案。为此,我使用 Nuget 包 NSwag(Assembly NSwag.AspNetCore,Version=11.20.1.0)。在我的应用程序配置中,我有以下内容:

public void Configure(IApplicationBuilder app) {
    app..UseSwaggerUi3WithApiExplorer(settings =>
        {
            settings.GeneratorSettings.DefaultPropertyNameHandling = PropertyNameHandling.CamelCase;
            settings.PostProcess = document =>
            {
                document.Info.Version = $"v{typeof(Startup).Assembly.GetName().Version.Major}";
                document.Info.Title = "Test Api";
                document.Info.Description = "Sample API";
                document.Info.TermsOfService = "None";
                document.Info.Contact = new NSwag.SwaggerContact
                {
                    Name = "Person",
                    Email = "Email"
                };
            };
        });
}

当我运行它时,我正确地看到了所有控制器和相应的方法,但它没有按字母顺序排序。

我已经尝试了以下方法:

  • 将 TagSorter 添加到设置:

    app.UseSwaggerUi3WithApiExplorer(settings =>
        {
            ...
            settings.TagSorter = "alpha";
            ...
        });
    
  • 将 ApisSorter 添加到设置:

    app.UseSwaggerUi3WithApiExplorer(settings =>
        {
            ...
            settings.ApisSorter = "alpha";
            ...
        });
    

但是这些更改会导致相同的输出。如何实现排序?

4

1 回答 1

1

我遇到过同样的问题。但是在升级 NSwag.AspNetCore -> 12.0.8(撰写本文时的最新版本)并替换现在使用的方法Obsolete之后

s.TagsSorter = "alpha";
s.OperationsSorter = "alpha";
于 2018-12-20T12:27:52.080 回答