.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

相关推荐
西部森林牧歌2 天前
接口管理工具选型指南:swagger与PostIn深度对比
swagger·postin·tiklab devops·接口管理工具
时光追逐者2 天前
C#/.NET/.NET Core技术前沿周刊 | 第 61 期(2025年11.10-11.16)
c#·.net·.netcore
wangmengxxw3 天前
Swagger技术
java·swagger
猿与禅4 天前
SpringBoot 2.x 升级到 3.x 时 Swagger 迁移完整指南
swagger·springboot升级·springboot3.0·swagger3.0
夏霞6 天前
c# ASP.NET Core SignalR 客户端配置自动重连次数
c#·.netcore
BXS_null6 天前
windows、linux/ubuntu 系统运用.net core使用Selenium WebDriver实现自动化测试
linux·ubuntu·.netcore
東雪木8 天前
Spring Boot 2.x 集成 Knife4j (OpenAPI 3) 完整操作指南
java·spring boot·后端·swagger·knife4j·java异常处理
切糕师学AI8 天前
.NET Core 如何使用 Quartz?
.netcore·quartz·作业调度
聪明努力的积极向上9 天前
【C#】System.Text.Encoding.Default 属性在framework和.netcore中的区别
开发语言·c#·.netcore
一念一花一世界9 天前
swagger和PostIn,开源免费接口管理工具选型指南
api·swagger·postin·接口管理工具