.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

相关推荐
小先生8128 天前
.NET Core后台任务队列
.net·.netcore
MoFe18 天前
【.net core】【watercloud】动态数据转换为静态表格,或者表格数据返回需要后处理
.netcore
吹牛不交税14 天前
.netcore项目部署在ubuntu22.04虚拟机的docker中的过程记录
docker·容器·.netcore
weixin_4219947817 天前
基于 .NET 9.0 的高性能轻量级令牌桶限流服务
.net·.netcore·令牌桶
weixin_4219947817 天前
MVC 模式初探
mvc·.net·.netcore
weixin_4219947819 天前
互联网与 Web 应用简介
.net·.netcore
全栈小521 天前
【C#】合理使用DeepSeek相关AI应用为我们提供强有力的开发工具,在.net core 6.0框架下使用JsonNode动态解析json字符串,如何正确使用单问号和双问号做好空值处理
人工智能·c#·json·.netcore·deepseek
时光追逐者22 天前
C#/.NET/.NET Core优秀项目和框架2026年1月简报
c#·.net·.netcore
大尚来也24 天前
双库协同,各取所长:.NET Core 中 PostgreSQL 与 SQLite 的优雅融合实战
postgresql·sqlite·.netcore
吹牛不交税25 天前
admin.net-v2 框架使用笔记-netcore8.0/10.0版
vue.js·.netcore