在ASP.NET MVC项目中集成Swagger需要几个步骤:
-
通过NuGet安装Swashbuckle包。
-
在项目的
App_Start
文件夹中配置Swagger。 -
定义API的XML注释。
-
配置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界面。