.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

相关推荐
1-1=01 天前
C# IO和序列化
c#·.net·.netcore
宝桥南山2 天前
.NET 11 - 尝试一下Blazor中的新特性SupplyParameterFromTempData
microsoft·微软·c#·asp.net·.net·.netcore
1-1=03 天前
C# 特性(Attribute)
c#·.net·.netcore
淡海水4 天前
10-01-互操作-C#与C++边界的内存管理
unity·c#·游戏引擎·.netcore·gc
1-1=04 天前
C# 反射
c#·.net·.netcore
1-1=05 天前
C# 泛型
c#·.net·.netcore
淡海水7 天前
09-01-内存-Unity资源生命周期全景
unity·c#·游戏引擎·.netcore·gc
1-1=07 天前
.NET Core 编译技术
.net·.netcore
1-1=08 天前
.NET Core 文件系统
.net·.netcore·1024程序员节
1-1=09 天前
.NET Core 内存管理
.net·.netcore