配置支持 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();

运行示例

相关推荐
维基框架4 分钟前
维基框架(Wiki-Framework) 1.2.0:Mybatis 升级为主从读写分离
java·后端·架构
Larcher17 分钟前
MCP协议实战:让AI Agent跨进程调用工具的正确姿势
人工智能·后端
Reart1 小时前
Leetcode 121. 买卖股票的最佳时机(717)
后端·算法
Reart1 小时前
Leetcode 337.打家劫舍3(717)
后端·算法
站大爷IP2 小时前
Python的浅拷贝把我坑惨了,原来copy()和deepcopy()的区别这么大
后端
卷无止境3 小时前
Apache Ossie:打破数据孤岛的语义互操作标准
后端·数据分析
晓杰在写后端3 小时前
从0到1实现Balatro游戏后端(11):商店商品池与运行时商品实例生成
后端·游戏开发
AskHarries4 小时前
OAuth 登录怎么接
后端
掘金者阿豪5 小时前
上线前能跑,上线后挂了,三个隐性的SQL陷阱
后端
用户8356290780515 小时前
如何使用 Python 为 PDF 添加和管理图层
后端·python