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

运行示例

相关推荐
AwesomeDevin2 分钟前
AI时代,我们的任务不应沉溺于与 AI 聊天,🤔 从“对话式编程”迈向“数字软件工厂”
前端·后端·架构
Victor3561 小时前
MongoDB(60)如何使用explain命令?
后端
Victor3561 小时前
MongoDB(59)如何分析查询性能?
后端
怒放吧德德3 小时前
Spring Boot实战:InfluxDB 2.x简单教程
java·spring boot·后端
后端不背锅4 小时前
可观测性体系:日志、指标、链路追踪
后端
苍何4 小时前
把小度音箱接入小龙虾是一种什么体验?
后端
华科易迅4 小时前
Spring AOP
java·后端·spring
架构师沉默4 小时前
Gemini 正式登陆香港,不用翻墙!
java·后端·架构
zihao_tom4 小时前
Spring WebFlux:响应式编程
java·后端·spring
想打游戏的程序猿4 小时前
从零理解 LLM 与 Agent
后端·ai编程