.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

相关推荐
亦世凡华、12 小时前
掌握.NET Core后端发布流程,如何部署后端应用?
经验分享·.netcore·docker部署·程序发布
喵个咪14 小时前
开箱即用的GO后台管理系统 Kratos Admin - 交互式API文档 Swagger UI
后端·go·swagger
contact9718 小时前
.NET Core中的五种过滤器详解
.netcore·过滤器
以为不会掉头发的詹同学20 小时前
【 Avalonia UI 语言国际化 I18n】图文结合教学,保姆级教学,语言国际化就是这么简单(.Net C#)
开发语言·前端·c#·.netcore·用户界面
西京刀客2 天前
golang常用库之-swaggo/swag根据注释生成接口文档
golang·swagger·swag
爱吃香蕉的阿豪3 天前
在c#中虚方法和抽象类的区别
深度学习·c#·.netcore
shepherd枸杞泡茶3 天前
第3章 .NETCore核心基础组件:3.1 .NET Core依赖注入
开发语言·c#·.net·.netcore
.NET快速开发框架4 天前
使用nvm管理node.js版本,方便vue2,vue3开发
vue·.netcore·常用工具·开发技术·rdif
csdn_aspnet5 天前
ASP.NET Core 使用 FileStream 将 FileResult 文件发送到浏览器后删除该文件
asp.net·.netcore
csdn_aspnet5 天前
ASP.NET Core SixLabors.ImageSharp v1.0 的图像实用程序类 web示例
asp.net·.netcore