/// <summary> /// Gets the API definition. /// </summary> /// <param name="config">The configuration.</param> /// <returns>An API definition.</returns> public static APIDefinition GetAPIDefinition(this IConfiguration config) { var apiDefinition = new APIDefinition(); config.Bind("APIDefinition", apiDefinition); return(apiDefinition); }
/// <summary> /// Uses the swagger. /// </summary> /// <param name="app">The application.</param> /// <param name="apiDefinition">The API definition.</param> /// <returns> /// The application builder. /// </returns> public static IApplicationBuilder UseSwagger(this IApplicationBuilder app, APIDefinition apiDefinition) { _ = bool.TryParse(Environment.GetEnvironmentVariable("ENABLE_SWAGGER"), out var enableMiddleware); if (!enableMiddleware) { return(app); } if (apiDefinition == null) { throw new ArgumentNullException(nameof(apiDefinition)); } return(app.UseSwagger(apiDefinition.Name, apiDefinition.Version)); }
/// <summary> /// Adds the swagger. /// </summary> /// <param name="services">The services.</param> /// <param name="apiDefinition">The API definition.</param> /// <returns> /// The service collection. /// </returns> public static IServiceCollection AddSwagger(this IServiceCollection services, [NotNull] APIDefinition apiDefinition) { services.AddSwagger(apiDefinition.Name, apiDefinition.Description, apiDefinition.Version); return(services); }