using DS.Module.Core.Extensions; using Microsoft.AspNetCore.Builder; using Swashbuckle.AspNetCore.SwaggerUI; namespace DS.Module.Core.Middlewares { /// /// 封装通用中间件 /// public static class UseCommonMiddlewares { /// ///为了让主Progarm.cs文件更加简洁,我们将一些中间件的配置放到这里 /// /// /// public static WebApplication UsePublicMiddlewares(this WebApplication app) { var documentName = AppSetting.app(new string[] { "SwaggerDoc", "ContactName" }); app .UseSwagger(c => { c.RouteTemplate = "{documentName}/swagger.json"; }) .UseSwaggerUI(c => { c.SwaggerEndpoint("/" + documentName + "/swagger.json", AppSetting.app(new string[] { "SwaggerDoc", "ContactName" })); c.DocExpansion(DocExpansion.None);//DocExpansion设置为None可折叠所有方法 c.DefaultModelExpandDepth(-1);//-1 可不显示Models }); //跨域 var policyName = AppSetting.app(new string[] { "Cors", "PolicyName" }); if (!policyName.IsNullOrEmpty()) { app.UseCors(policyName); //添加跨域中间件 } app.UseRouting(); app.UseStaticFiles(); // //操作日志中间件 // app.UseMiddleware(); // 先开启认证 app.UseAuthentication(); // 然后是授权中间件 app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); return app; } } }