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

 

猜你喜欢

转载自www.cnblogs.com/liguix/p/11093095.html