Swashbuckle.AspNetCore 是一个开源项目,用于生成ASP.NET Core Web API 的 Swagger 文档。
开源项目主页:https://github.com/domaindrivendev/Swashbuckle.AspNetCore
开源项目官方示例:https://github.com/domaindrivendev/Swashbuckle.AspNetCore/tree/master/test/WebSites
官方文档和示例都对于鄙人而言都比较权威和详细这里只简单记录一下搭建过程
一、新建一个.net core web api项目
使用visual studio新建项目
二、引入Swashbuckle.AspNetCore包
从“管理 NuGet 程序包”中安装引入
添加并配置 Swagger 中间件
在Startup 类中,导入以下命名空间来使用OpenApiInfo 类
using Microsoft.OpenApi.Models;
将 Swagger 生成器添加到Startup.ConfigureServices 方法中的服务集合中:
publicvoid ConfigureServices(IServiceCollection services)
{
services.AddMvc();
//配置Swagger
//注册Swagger生成器,定义一个Swagger文档
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1",new OpenApiInfo
{
Version = "v1",
Title = "接口文档",
Description = "RESTfulAPI"
});
//为 Swagger 设置xml文档注释路径
var xmlFile =$"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
var xmlPath =Path.Combine(AppContext.BaseDirectory, xmlFile);
c.IncludeXmlComments(xmlPath);
});
}
在Startup.Configure 方法中,启用中间件为生成的JSON 文档和 Swagger UI 提供服务:
public void Configure(IApplicationBuilder app, IHostingEnvironmentenv)
{
if(env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseMvc();
//启用中间件服务生成Swagger
app.UseSwagger();
//启用中间件服务生成SwaggerUI,指定Swagger
JSON终结点
app.UseSwaggerUI(c=>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "Web AppV1");
c.RoutePrefix= string.Empty;//设置根节点访问
});
}
因为设置了Swagger 设置xml文档注释路径在项目什么的时候设置一下
三、启动测试OK