asp.net core Api集成Swagger
当我们通过vs创建了一个api项目后,便可以开始集成swagger了
一.Swagger集成
- 从“程序包管理器控制台”窗口进行安装,执行Install-Package Swashbuckle.AspNetCore命令
- 通过管理 NuGet 程序包安装,搜索Swashbuckle.AspNetCore
将 Swagger 生成器添加到 Startup.ConfigureServices 方法中的服务集合中:
//注册Swagger生成器,定义一个和多个Swagger 文档 services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" }); });
在 Startup.Configure
方法中,启用中间件为生成的 JSON 文档和 Swagger UI 提供服务
//启用中间件服务生成Swagger作为JSON终结点 app.UseSwagger(); //启用中间件服务对swagger-ui,指定Swagger JSON终结点 app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1"); });
可在 http://localhost:<port>/swagger
找到 Swagger UI。
通过 Swagger UI 浏览 API文档,如下所示。
要在应用的根 (http://localhost:<port>/
) 处提供 Swagger UI,请将 RoutePrefix
属性设置为空字符串:
app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1"); c.RoutePrefix = string.Empty; });
二.为接口添加注释
启用XML 注释
- 右键单击“解决方案资源管理器”中的项目,然后选择“属性”
- 查看“生成”选项卡的“输出”部分下的“XML 文档文件”框
注意这里的输出xml地址得自己修改一下
然后在ConfigureServices中添加如下代码
//注册Swagger生成器,定义一个和多个Swagger 文档 services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" }); // 为 Swagger JSON and UI设置xml文档注释路径 var basePath = Path.GetDirectoryName(typeof(Program).Assembly.Location);//获取应用程序所在目录(绝对,不受工作目录影响,建议采用此方法获取路径) var xmlPath = Path.Combine(basePath, "bokeyuan.xml"); c.IncludeXmlComments(xmlPath); });
运行程序后
参考文献:https://www.cnblogs.com/yilezhu/p/9241261.html