配置支持 OpenAPI 的 ASP.NET Core 应用

写在前面

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。 本文记录如何配置基于SwaggerASP.NET Core 应用程序的 OpenAPI 规范。

需要从NuGet 安装 Swashbuckle.AspNetCore 包

代码实现

cs 复制代码
var builder = WebApplication.CreateBuilder(args);

builder.Services.AddControllers();
 
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen(c =>
{
    c.SwaggerDoc("v1", new()
    {
        Title = builder.Environment.ApplicationName,
        Version = "v1"
    });
});


var app = builder.Build();
 
if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json",
                                $"{builder.Environment.ApplicationName} v1"));
}

app.UseHttpsRedirection();

app.UseAuthorization();

app.MapControllers();

app.MapGet("/swag", () => "Hello Swagger!");
app.MapGet("/skipme", () => "Skipping Swagger.")
                    .ExcludeFromDescription();

app.Run();

运行示例

相关推荐
扎Zn了老Fe8 分钟前
MyBatis-Plus必知必会:告别低效CRUD,高效开发持久层
后端·mybatis
用户4603812919413 分钟前
终于知道AQS是啥东西了
后端
神奇小汤圆2 小时前
SpringBoot 相关的 Skills 全景指南
后端
神奇小汤圆2 小时前
高性能进程内队列 BufferQueue 1.0 版本发布
后端
爸爸6192 小时前
空数据状态与引导:多维度 UI 提示设计
后端
Reart3 小时前
Leetcode 674.最长连续递增序列 (719)
后端·算法
芒鸽3 小时前
HarmonyOS ArkUI Search 搜索框:联想词、历史记录与热门标签
后端
Reart4 小时前
Leetcode 714.买卖股票的最佳时机含手续费(719)
后端·算法
芒鸽4 小时前
HarmonyOS ArkUI RichEditor 富文本编辑器:内联样式、Span 管理与格式工具栏
后端
花开彼岸天~4 小时前
Router 路由管理:pushUrl、replaceUrl、back 与参数传递
后端