public static IMMServiceBuilder AddSwaggerIntegration(this IMMServiceBuilder builder, Action <MMSwashbuckleConfigurationBuilder>?setupAction = null) { var config = new MMSwashbuckleConfiguration(builder.ServiceInfo.ServiceName, builder.ServiceInfo.ServiceVersion); var configurationBuilder = new MMSwashbuckleConfigurationBuilder(config); setupAction?.Invoke(configurationBuilder); SetupSwaggerIntegration(builder, configurationBuilder.Build()); return(builder); }
public static IMMServiceBuilder AddAspNetCoreIntegration(this IMMServiceBuilder builder) => builder.AddMMServiceSetupAction(() => builder.Services .TryAddSingleton <IMMAspNetCoreConfiguration>(sp => new MMAspNetCoreConfiguration( builder.ServiceInfo.ServiceName, builder.ServiceInfo.ServiceVersion, sp.GetRequiredService <IHostEnvironment>().IsDevelopment() ) ) );
private static void SetupSwaggerIntegration(IMMServiceBuilder builder, IMMSwashbuckleConfiguration config) { builder.AddMMServiceSetupAction(() => { builder.Services.TryAddSingleton(config); builder.Services.AddSwaggerGen(c => { c.SwaggerDoc(config.MajorServiceVersionForUrl(), config.OpenApiInfo); c.DocumentFilter <SwaggerSortByComplexityFilter>(); config.SwaggerGenSetupAction(c); }); }); }