Сортировка по имени контроллера или тегу с NSwag и C # - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть решение ASP.Net Core, для которого я хочу использовать Swagger.Для этого я использую пакет 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";
            ...
        });
    

Но эти изменения приводят к тому же результату.Как мне добиться сортировки?

1 Ответ

0 голосов
/ 20 декабря 2018

У меня была такая же проблема.Но после обновления NSwag.AspNetCore -> 12.0.8 (последняя версия на момент написания) и замены методов, которые теперь Obsolete, он работал с

s.TagsSorter = "alpha";
s.OperationsSorter = "alpha";
...