ABP .net core框架 - Swagger UI 集成

一、安裝nuget包:Swashbuckle.AspNetCore
在這裏插入圖片描述

具體操作:
在web層右擊管理nuget包,輸入篩選、安裝
二、修改Startup.cs配置
在這裏插入圖片描述

using System;
using Abp.AspNetCore;
using Abp.Castle.Logging.Log4Net;
using Abp.EntityFrameworkCore;
using EntityFrameworkCore;
using Castle.Facilities.Logging;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using Swashbuckle.AspNetCore.Swagger;
using System.IO;
using Swashbuckle.AspNetCore.SwaggerGen;
using Microsoft.OpenApi.Models;
namespace Web.Startup
{
public class Startup
{
public IServiceProvider ConfigureServices(IServiceCollection services)
{
services.AddSwaggerGen(options =>
{
options.SwaggerDoc(“v1”, new OpenApiInfo { Title = “Core API”, Version = “v1” });
options.DocInclusionPredicate((docName, description) => true);
var baseDirectory = AppDomain.CurrentDomain.BaseDirectory;
**//*******************此處爲API的項目描述文件名
var commentsFileName = “RunGo.Publicity.Application.xml”;
var commentsFile = Path.Combine(baseDirectory, commentsFileName);
options.IncludeXmlComments(commentsFile);
});

        //Configure DbContext
        services.AddAbpDbContext<PublicityDbContext>(options =>
        {
            DbContextOptionsConfigurer.Configure(options.DbContextOptions, options.ConnectionString);
        });

        services.AddControllersWithViews(options =>
        {
            options.Filters.Add(new AutoValidateAntiforgeryTokenAttribute());
        }).AddNewtonsoftJson();

        //Configure Abp and Dependency Injection
        return services.AddAbp<PublicityWebModule>(options =>
        {
            //Configure Log4Net logging
            options.IocManager.IocContainer.AddFacility<LoggingFacility>(
                f => f.UseAbpLog4Net().WithConfig("log4net.config")
            );
        });

       
    }

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)
    {
        app.UseAbp(); //Initializes ABP framework.

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

        app.UseStaticFiles();
        app.UseRouting();

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllerRoute("default", "{controller=Home}/{action=Index}/{id?}");
        });
        //app.UseSwagger();
        //app.UseSwaggerUI(options =>
        //{
        //    options.SwaggerEndpoint("/swagger/v1/swagger.json", "Management API V1");
        //});


        app.UseSwagger();
        app.UseSwaggerUI(option =>
        {
            option.DocumentTitle = "API 在線文檔";
            //css注入
            //option.InjectStylesheet("/swagger-common.css");
            //option.InjectStylesheet("/buzyload/app.css");
            ////js注入
            //option.InjectJavascript("/jquery/jquery.js");
            //option.InjectJavascript("/buzyload/app.min.js");
            //option.InjectJavascript("/swagger-lang.js");
            option.SwaggerEndpoint("/swagger/v1/swagger.json", "管理中心 API v1");

        });
    }

  
}

}

在這裏插入圖片描述

三、xml輸出路徑配置
右擊application,選擇屬性
在這裏插入圖片描述

運行如下:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章