前言
在api接口开发完成后,我们经常会使用swagger文档配置来查看相关接口信息,有时候也会查看指定某个控制器来生成swagger文档,或是排除某些控制器等操作,如下为示例文章来源地址https://www.toymoban.com/news/detail-520039.html
获取指定控制器
// Register the Swagger services
services.AddSwaggerDocument(config =>
{
config.Title = GetType().Namespace;
config.PostProcess = document =>
{
// 获取指定控制器的文档配置
var filteredControllers = new List<string> { "控制器名称" };
var pathsToKeep = document.Paths
.Where(p => filteredControllers.Contains(p.Key.Split('/')[2])) // 需要保留的控制器路径
.ToDictionary(p => p.Key, p => p.Value);
document.Paths.Clear();
foreach (var path in pathsToKeep)
{
document.Paths.Add(path.Key, path.Value);
}
};
});
排除指定控制器
services.AddSwaggerDocument(config =>
{
// Swagger 文档配置
config.PostProcess = document =>
{
// 过滤控制器
var filteredControllers = new List<string> { "指定的控制器名称1", "指定的控制器名称2" };
var pathsToRemove = document.Paths
.Where(p => !filteredControllers.Contains(p.Key.Split('/')[2])) // 需要过滤的控制器路径
.ToList();
foreach (var path in pathsToRemove)
{
document.Paths.Remove(path.Key);
}
};
// 其他配置项
});
文章来源:https://www.toymoban.com/news/detail-520039.html
到了这里,关于【.net core】获取或排除指定控制器的 Swagger 文档配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!