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

运行示例

相关推荐
m0_694845578 分钟前
VoxCPM部署教程:构建AI语音交互系统
服务器·人工智能·后端·自动化
Rust研习社11 分钟前
Rust 是如何判断对象是否相等的?一起来聊一聊 PartialEq 与 Eq
后端·rust·编程语言
我叫黑大帅15 分钟前
TCP 长连接服务:登录注册认证体系实战指南
后端·面试·go
丶西红柿丶18 分钟前
python中的文件操作
后端
我叫黑大帅29 分钟前
TCP通信 - 处理 TCP 流中的消息分片
后端·面试·go
卜夋33 分钟前
Rust 所有权概念
后端·rust
希望永不加班35 分钟前
SpringBoot 依赖管理:BOM 与版本控制
java·spring boot·后端·spring
群书聊架构35 分钟前
基于共享内存的高性能 Linux IPC 设计实践(上):从原理到无锁环形缓冲区
后端
落木萧萧82538 分钟前
MyBatis、MyBatis-Plus、JPA、MyBatisGX 写法比较:同一个需求,四种解法
java·后端
PFinal社区_南丞40 分钟前
为什么我用 Go 写 AI Agent 而不是 Python
后端·go