使用NSwag和C#对控制器名称或标签进行排序

时间:2018-12-07 08:59:55

标签: c# swagger-ui nswag

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

<?php 
$content = "<h3>Transition movement</h3><p>It's fun and will make you more resilient.</p>";
?>

运行此命令时,我可以正确看到所有控制器和相应的方法,但它们不是按字母顺序排序的。

我已经尝试了以下方法:

  • 将TagSorter添加到设置:

    <div class="big-purple"><?php echo $content_title; ?></div>
    <div class="side-bar"><?php echo $content_paragraph; ?></div>
    
  • 将ApisSorter添加到设置:

    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"
                    };
                };
            });
    }
    

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

1 个答案:

答案 0 :(得分:0)

我有同样的问题。但是,在升级NSwag.AspNetCore-> 12.0.8(撰写本文时为最新版本)并替换了现在Obsolete的方法之后,它可以与

一起使用
s.TagsSorter = "alpha";
s.OperationsSorter = "alpha";