c# - 使用 NSwag 和 C# 对控制器名称或标签进行排序
问题描述
我有一个想要使用 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"; ... });
但是这些更改会导致相同的输出。如何实现排序?
解决方案
我遇到过同样的问题。但是在升级 NSwag.AspNetCore -> 12.0.8(撰写本文时的最新版本)并替换现在使用的方法Obsolete
之后
s.TagsSorter = "alpha";
s.OperationsSorter = "alpha";
推荐阅读
- python - 尝试制作石头剪刀布游戏我如何获得用户输入?
- jdbc - Kafka Connect MySQL“无法识别服务器时区值‘EDT’”
- kotlin - Intellij-idea 调试器 - 协程选项卡:“获取信息时发生错误”
- swift - 第二个控制器没有接收到数据
- angular - Angular 更新错误为“@angular/core”获取元数据:无效的 URL:127.0.0.1:4200
- c# - StackExchange.Redis 崩溃 .NET webapi
- java - 执行我的 Jar 文件时找不到文件
- installation - 使用工作 SS7 成功安装 RESTCOMM-SMSC 需要哪些命令?
- django - 如何在此列表中捕获图书的名称或 reg_no?
- python - 在 Django QuerySet 的所有数据中插入字典