ASP.NETCore-中间件Middleware(一)_Swagger_Net7
1、配置Swagger
builder.Services中使用AddSwaggerGen
添加Swagger配置
#region Swagger文档
//builder.Services.AddSwaggerGen(); // 添加swagger配置-使用默认配置
builder.Services.AddSwaggerGen(options =>
{
options.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo
{
// 接口文档的名字
Title = "飞跃fly-API",
// 接口文档的版本
Version = "V1.0",
// 接口文档的描述
Description = "飞跃fly-API说明",
// 接口文档的服务条款网址
TermsOfService = new Uri("https://example.com/terms"),
// 接口文档的维护联系信息
Contact = new OpenApiContact
{
Name = "接口文档维护联系",
Email = "2806933146@qq.com",
Url = new Uri("https://example.com/contact")
},
// 接口文档的License信息
License = new OpenApiLicense
{
Name = "接口文档的License",
Url = new Uri("https://example.com/license")
}
});
}); // 添加swagger配置(SwaggerDoc指明Swagger页面Doc区域的内容)
#endregion Swagger文档
2、启用Swagger
app中使用UseSwagger()
和app.UseSwaggerUI()
启用Swagger配置;Swagger一般只在开发环境中使用(app.Environment.IsDevelopment()
)
var app = builder.Build();
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
app.UseDeveloperExceptionPage(); // 开发环境下的异常处理页
#region 使用Swagger文档
app.UseSwagger();
//app.UseSwaggerUI(); // 展示默认SwaggerUI页面
app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json",$"飞跃fly-API V1.0")); // 设置展示的页面和页面切换下拉选择框的标题
#endregion 使用Swagger文档
}
...
app.MapControllers();
app.Run();
3、完整代码
public static void Main(string[] args)
{
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers(); // 添加Controller
...
#region Swagger文档
//builder.Services.AddSwaggerGen(); // 添加swagger配置-使用默认配置
builder.Services.AddSwaggerGen(options =>
{
options.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo
{
// 接口文档的名字
Title = "飞跃fly-API",
// 接口文档的版本
Version = "V1.0",
// 接口文档的描述
Description = "飞跃fly-API说明",
// 接口文档的服务条款网址
TermsOfService = new Uri("https://example.com/terms"),
// 接口文档的维护联系信息
Contact = new OpenApiContact
{
Name = "接口文档维护联系",
Email = "2806933146@qq.com",
Url = new Uri("https://example.com/contact")
},
// 接口文档的License信息
License = new OpenApiLicense
{
Name = "接口文档的License",
Url = new Uri("https://example.com/license")
}
});
}); // 添加swagger配置(SwaggerDoc指明Swagger页面Doc区域的内容)
#endregion Swagger文档
var app = builder.Build();
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
#region 使用Swagger文档
app.UseSwagger();
//app.UseSwaggerUI(); // 展示默认SwaggerUI页面
app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json",$"飞跃fly-API V1.0")); // 设置展示的页面和页面切换下拉选择框的标题
#endregion 使用Swagger文档
}
...
app.MapControllers();
app.Run();
}
本文来自博客园,作者:꧁执笔小白꧂,转载请注明原文链接:https://www.cnblogs.com/qq2806933146xiaobai/articles/17409571.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
2022-05-17 VS报错-无法解析位于global.json 中指定的 .NET SDK 版本