一、安装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,选择属性
运行如下: