using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.DependencyInjection; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace WebMainFrameForEap.ServiceExtensions { public static class NSwagServiceExtension { public static IServiceCollection AddNSwag(this IServiceCollection services) { services.AddOpenApiDocument(settings => { settings.DocumentName = "EAP接口文档"; settings.Description = "EAP接口文档"; settings.Title = "EAP接口文档"; settings.UseControllerSummaryAsTagDescription = true; settings.AddSecurity("身份认证Token", Enumerable.Empty(), new NSwag.OpenApiSecurityScheme() { Description = "JWT授权(数据将在请求头中进行传输) 直接在下框中输入Bearer {token}(注意两者之间是一个空格)", Name = "Authorization", In = NSwag.OpenApiSecurityApiKeyLocation.Header, Type = NSwag.OpenApiSecuritySchemeType.ApiKey }); }); return services; } public static IApplicationBuilder UseNSwag(this IApplicationBuilder builder) { builder.UseOpenApi().UseAuthentication().UseSwaggerUi3(p => { p.Path = "/api/docs"; p.DocumentPath = "/swagger/{documentName}/swagger.json"; p.OperationsSorter = "alpha"; p.TagsSorter = "alpha"; }); return builder; } } }