当前位置: 首页 > news >正文

C#MVC项目引用Swagger的详细步骤

目录

      • 一、安装Swagger依赖包
      • 二、配置Swagger服务
      • 三、启用XML注释
      • 四、调整启动配置
      • 五、验证与访问
      • 常见问题解决

以下是基于ASP.NET Core项目集成Swagger的详细步骤(已适配当前项目结构):
在这里插入图片描述

一、安装Swagger依赖包

  1. 通过NuGet安装
    右键点击项目 → 管理NuGet程序包 → 搜索 Swashbuckle.AspNetCore → 安装最新稳定版

二、配置Swagger服务

  1. 修改Program.cs

    var builder = WebApplication.CreateBuilder(args);
    
    // 添加Swagger服务配置
    builder.Services.AddSwaggerGen(c => {
        c.SwaggerDoc("v1", new OpenApiInfo {
            Version = "v1",
            Title = "图书管理API",
            Description = "包含分页查询等核心功能",
            Contact = new OpenApiContact { Name = "开发者", Email = "your@email.com" }
        });
        
        // 配置XML注释(需先启用项目属性中的XML生成)
        var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
        var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
        c.IncludeXmlComments(xmlPath, true);
    });
    
    // ...其他服务注册(如DbContext等)
    
  2. 配置中间件
    var app = builder.Build(); 之后添加:

    app.UseSwagger();
    app.UseSwaggerUI(c => {
        c.SwaggerEndpoint("/swagger/v1/swagger.json", "Book API v1");
        c.RoutePrefix = ""; // 将Swagger设为根路径访问
    });
    

三、启用XML注释

  1. 修改项目文件
    右键项目 → 属性 → 生成 → 勾选 XML文档文件 → 路径保留默认值
    在这里插入图片描述

    (或在 .csproj 中添加):

    <PropertyGroup>
      <GenerateDocumentationFile>true</GenerateDocumentationFile>
      <NoWarn>$(NoWarn);1591</NoWarn>
    </PropertyGroup>
    
  2. 为BookController添加注释

    /// <summary>
    /// 获取分页图书数据
    /// </summary>
    /// <param name="pageNumber">页码(默认1)</param>
    /// <param name="pageSize">每页条目数(默认10)</param>
    /// <returns>包含分页元数据的图书列表</returns>
    [HttpGet("paged")]
    public async Task<ActionResult<PagedResult<Book>>> GetPagedBooks(...)
    

四、调整启动配置

  1. 修改launchSettings.json
    profiles 中的 applicationUrl 统一为:
    "applicationUrl": "https://localhost:7044;http://localhost:5231"
    
    删除所有 launchUrl 属性,确保启动时直接加载Swagger UI

五、验证与访问

  1. 运行项目
    按 F5 启动 → 浏览器会自动打开 https://localhost:7044 显示Swagger UI
    你将看到:
    • ✅ GET /Book/paged 分页接口
    • ✅ 参数说明(含默认值)
    • ✅ 模型结构展示(Book和PagedResult)

常见问题解决

404错误:检查 SwaggerEndpoint 路径是否与 SwaggerDoc 版本号匹配
注释不显示:确认XML文件生成路径与代码中的 xmlPath 一致
数据库连接失败:已配置的 TrustServerCertificate=True 可兼容本地SQL Server Express

通过以上配置,分页查询接口将获得完整的Swagger文档支持,前端开发者可直接在网页测试接口,无需Postman等工具。进阶功能(如JWT认证、版本控制)可参考OpenAPI规范扩展。

相关文章:

  • C++指针(二)
  • DAOS系统架构-组件
  • Mamba原理及在low-level vision的工作[持续更新]
  • 14-大模型微调和训练之-Hugging Face 模型微调训练(基于 BERT 的中文评价情感分析(二分类))
  • opencv-python基础
  • 如何让老电脑运行快些(极限榨干老电脑硬件)
  • 傅利叶发布首款开源人形机器人N1:开发者可实现完整复刻
  • 科普:关系图谱中的网络特征如何输入到模型中?
  • 华为RH2288H V3服务器极速重装:从RedHat到openEuler 24超详细重装指南
  • 2025ArkTS基础UI(一)——Column、Row、Text、Button组件
  • 主服务器和子服务器之间通过NFS实现文件夹共享
  • 【数据结构】集合框架、时间复杂度和空间复杂度
  • 同时打开多个Microchip MPLAB X IDE
  • JAVA虚拟机(JVM)学习
  • vue 实战:百度音乐项目
  • 网络机顶盒OTT业务HTTPS网络包分析:Wireshark抓包与解析技术指南
  • 每日一题(小白)模拟娱乐篇27
  • router.js 中使用国际化
  • 【AI论文】OLMoTrace:将语言模型输出追溯到万亿个训练标记
  • Spring配置方式演进:从XML到注解,构建灵活高效的开发体系
  • 单页面网站入侵/长沙seo推广
  • 电竞竞猜网站 建设/怎么免费制作网页
  • 网站建设企业服务商/国内做seo最好公司
  • 辽宁省建设工程信息网a类业绩/网络seo首页
  • 学校要求做网站/百度百家号官网
  • 网站服务费怎么做分录/福建seo关键词优化外包