.net core 配置swagger

要在 ASP.NET Core 中配置 Swagger,您需要遵循以下步骤:

  1. 添加 Swagger NuGet 包:将 Swashbuckle.AspNetCore NuGet 包添加到项目中。

  2. Startup.cs 文件中进行配置:

    csharp 复制代码
    using Microsoft.OpenApi.Models;
    
    public class Startup
    {
        // 省略其他代码...
    
        public void ConfigureServices(IServiceCollection services)
        {
            // 添加 Swagger 服务
            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new OpenApiInfo { Title = "Your API", Version = "v1" });
            });
    
            // 添加其他服务配置...
        }
    
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            // 省略其他代码...
    
            // 注册 Swagger 中间件
            app.UseSwagger();
    
            // 配置 Swagger UI
            app.UseSwaggerUI(c =>
            {
                c.SwaggerEndpoint("/swagger/v1/swagger.json", "Your API V1");
                // c.RoutePrefix = ""; // 设置为根路径 省略/swagger
            });
    
            // 省略其他代码...
        }
    }

    在上述代码中,我们通过调用 services.AddSwaggerGen 方法来配置 Swagger。您可以使用这个方法来设置 API 的标题、版本、描述等信息。

    然后,我们在 Configure 方法中使用了 app.UseSwagger() 注册 Swagger 中间件。最后,我们使用 app.UseSwaggerUI 方法配置 Swagger UI。

    在上述代码中,Swagger UI 将在 /swagger 路径下可用。要访问 Swagger UI,请启动应用程序,并在浏览器中打开 http://localhost:<port>/swagger,其中 <port> 是您应用程序运行时的端口号。

  3. 在需要使用 Swagger 的控制器或方法上添加 Swagger 注释。

    csharp 复制代码
    using Microsoft.AspNetCore.Mvc;
    
    [ApiController]
    [Route("api/[controller]")]
    public class YourController : ControllerBase
    {
        /// <summary>
        /// 获取所有项目
        /// </summary>
        [HttpGet]
        public IActionResult GetAll()
        {
            // Your code here...
        }
    }

    在上述代码中,我们在 GetAll 方法上添加了一个简单的 Swagger 注释。您可以使用不同的标记和注释来配置 Swagger 文档的其他元素,例如路由参数、请求体、响应等。请参考 Swagger 文档以获取更多详细信息。

配置完毕后,您就可以使用 Swagger 来浏览和测试 API 了。Swagger 提供了一个交互式界面,可以通过调用不同的 API 方法来查看请求和响应的详细信息。

更为完整的配置,请参考官方文档:https://learn.microsoft.com/zh-cn/aspnet/core/tutorials/getting-started-with-swashbuckle?view=aspnetcore-7.0&tabs=visual-studio

相关推荐
刚子编程11 小时前
ASP.NET Core Blazor 核心功能一:Blazor依赖注入与状态管理指南
开发语言·.netcore·blazor
是萝卜干呀13 小时前
Backend - HTTP请求的常用返回类型(asp .net core MVC)
http·c#·.netcore·iactionresult
精神小伙就是猛13 小时前
.Net Core基于EasyCore.EventBus实现事件总线
微服务·.netcore
sky-stars2 天前
Visual Studio 2022 安装使用:Entity Framework Core
asp.net·.netcore·visual studio
宝桥南山3 天前
.NET - .NET Aspire的Command-Line和GitHub Copilot
microsoft·微软·c#·asp.net·.net·.netcore
刚子编程5 天前
ASP.NET Core Blazor 路由配置和导航
服务器·javascript·.netcore·blazor
忧郁的蛋~7 天前
.NET实现多任务异步与并行处理的详细步骤
后端·c#·asp.net·.net·.netcore
时光追逐者8 天前
C#/.NET/.NET Core技术前沿周刊 | 第 58 期(2025年10.13-10.19)
微软·开源·c#·.net·.netcore
咖啡Beans12 天前
SpringBoot2.7集成Swagger3.0
java·swagger
weixin_3798809219 天前
.Net Core WebApi集成Swagger
java·服务器·.netcore