Swashbuckle for asp.net core 配置说明

0x00 安装 Swashbuckle 6.0

打开程序包管理器控制台,输入:

Install-Package Swashbuckle -Pre

0x01 配置 Startup.cs

public void ConfigureServices(IServiceCollection services)
{
    // Add framework services.
    services.AddApplicationInsightsTelemetry(Configuration);
    services.AddMvc();
    // 下面是具体的配置
    services.AddSwaggerGen(c =>
    {
        c.SingleApiVersion(new Info
        {
            Version = "v1",     // 这个属性必须要填,否则会引发一个异常
            Title = "BookList API 文档",
            Description = "书单的 API 文档"
        });
    });

    services.ConfigureSwaggerGen(c =>
    {
        // 配置生成的 xml 注释文档路径
        c.IncludeXmlComments(GetXmlCommentsPath());
    });
}


public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
    loggerFactory.AddConsole(Configuration.GetSection("Logging"));
    loggerFactory.AddDebug();

    app.UseApplicationInsightsRequestTelemetry();

    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
        app.UseBrowserLink();
    }
    else
    {
        app.UseExceptionHandler("/Home/Error");
    }

    app.UseApplicationInsightsExceptionTelemetry();

    app.UseStaticFiles();

    app.UseSwagger();
    app.UseSwaggerUi("doc/api");    // 配置 api 文档的访问路径

    app.UseMvc(routes =>
    {
        routes.MapRoute(
            name: "default",
            template: "{controller=Home}/{action=Index}/{id?}");
    });
}

下面是获取xml文档路径的方法

private string GetXmlCommentsPath()
{
    var app = PlatformServices.Default.Application;
    return Path.Combine(app.ApplicationBasePath, Path.ChangeExtension(app.ApplicationName, "xml"));
}

0x03 配置项目属性

在 VS 的菜单中,项目 -- 属性 -- 生成 -- Output -- XML documentation file 打上勾

0x04 尽情使用生成的文档吧!

访问 localhost:*****/doc/api 就可以看到生成的文档
这里的路径是我在上面配置的,默认的路径是 swagger/ui


参考:https://github.com/domaindrivendev/Ahoy

转载于:https://www.cnblogs.com/JacZhu/p/5722751.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值