asp.net mvc 集成swagger

在ASP.NET MVC项目中集成Swagger需要几个步骤:

  1. 通过NuGet安装Swashbuckle包。

  2. 在项目的App_Start文件夹中配置Swagger。

  3. 定义API的XML注释。

  4. 配置Swagger以使用这些注释。

以下是一个基本的配置示例:

首先,通过NuGet安装Swashbuckle包:

bash 复制代码
Install-Package Swashbuckle

然后,在App_Start文件夹中添加一个SwaggerConfig.cs文件,并配置Swagger:

cs 复制代码
using System.Web.Http;
using WebActivatorEx;
using Swashbuckle.Application;
 
[assembly: PreApplicationStartMethod(typeof(YourProject.SwaggerConfig), "Register")]
 
namespace YourProject
{
    public class SwaggerConfig
    {
        public static void Register()
        {
            var thisAssembly = typeof(SwaggerConfig).Assembly;
 
            GlobalConfiguration.Configuration 
                .EnableSwagger(c =>
                    {
                        c.SingleApiVersion("v1", "My API");
                        
                        // 设置XML注释路径
                        var xmlFile = $"{typeof(SwaggerConfig).Assembly.GetName().Name}.xml";
                        var xmlPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, xmlFile);
                        c.IncludeXmlComments(xmlPath);
                    })
                .EnableSwaggerUi(c =>
                    {
                    });
        }
    }
}

确保项目属性中生成XML文档文件(通常在项目的Properties文件夹中的AssemblyInfo.cs文件中设置):

cs 复制代码
[assembly: XmlnsDefinition("http://schemas.datacontract.org/2004/07/YourProject.Models", "YourProject.Models")]
[assembly: Guid("YOUR-GUID-HERE")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyDescription("My ASP.NET MVC Project")]
[assembly: AssemblyProduct("MyProduct")]
[assembly: AssemblyTitle("MyProject")]
[assembly: AssemblyCompany("MyCompany")]
[assembly: AssemblyCopyright("Copyright © MyCompany 2023")]
[assembly: ComVisible(false)]

最后,在Global.asax.cs文件中添加以下代码以启用Swagger:

cs 复制代码
protected void Application_Start()
{
    // ...其他启动代码...
    SwaggerConfig.Register();
}

完成这些步骤后,运行项目并导航到/swagger路径(例如:http://localhost:port/swagger),你应该能够看到Swagger UI界面。

相关推荐
万少2 小时前
DeepSeek 昨晚刚开源了 Harness:附万少的2 万字保姆级教程
前端·后端·架构
大鸡腿同学6 小时前
身弱体质|你的 FM 该关了📻
后端
Csvn7 小时前
📊 SQL 入门 Day 18:索引原理
后端·sql
Csvn7 小时前
🐍 Day3 : Python 容器精讲 — list、dict、set、tuple 底层实现与高级操作
后端·python
用户938515635077 小时前
ESLint 代码规范完全指南——从 AST 原理到 flat config 逐行解析
javascript·后端·代码规范
用户938515635077 小时前
深入理解 Next.js:从 SPA 的 SEO 问题到约定式路由与 SSR 原理
前端·后端·全栈
码事漫谈9 小时前
Deepseek涨价了,前后对比,竟然差这么多
后端
东风破_10 小时前
大前端手里的 Next.js:从 #root 到 SEO,一份 HTML 的两种命运
前端·后端
IT_陈寒10 小时前
Vue的v-for不听话?我被这个Key的坑整懵了
前端·人工智能·后端
众人皆醒我独醉11 小时前
训练加速实战:Flash Attention、Gradient Checkpointing 与数据流水线
后端·面试·gpu