public static void ConfigureSwaggerGen(SwaggerGenOptions swaggerGenOptions) { swaggerGenOptions.SwaggerDoc("v1", new Info { Title = "SSL Central", Version = $"v1", Description = "An API for centralized SSL management with Lets Encrypt." }); swaggerGenOptions.AddSecurityDefinition("Bearer", new ApiKeyScheme { Description = "JWT Authorization header using the Bearer scheme. Example: \"Authorization: Bearer {token}\"", Name = "Authorization", In = "header", Type = "apiKey" }); var basePath = AppContext.BaseDirectory; swaggerGenOptions.DescribeAllEnumsAsStrings(); string filePath = Path.Combine(basePath, "SSLCentral.API.xml"); swaggerGenOptions.IncludeXmlComments(filePath); filePath = Path.Combine(basePath, "SSLCentral.Models.xml"); swaggerGenOptions.IncludeXmlComments(filePath); }
public static void AddDefaultOptions(this SwaggerGenOptions options) { options.DescribeAllEnumsAsStrings(); options.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme { Description = "Авторизация с помощью JWT токена. <b>Пример: Bearer -token-</b>", Name = "Authorization", In = ParameterLocation.Header, Type = SecuritySchemeType.ApiKey }); var security = new OpenApiSecurityRequirement() { { new OpenApiSecurityScheme { Reference = new OpenApiReference { Type = ReferenceType.SecurityScheme, Id = "Bearer" }, Scheme = "oauth2", Name = "Bearer", In = ParameterLocation.Header, }, new List <string>() } }; options.AddSecurityRequirement(security); }
/// <summary> /// Configure swagger generator options /// </summary> #pragma warning disable CA1822 // Mark members as static public void ConfigureSwaggerGenOptions(SwaggerGenOptions options) #pragma warning restore CA1822 // Mark members as static { #pragma warning disable SA1122 // Use string.Empty for empty strings var info = new Info() { Version = "0.1.0", Title = "Meetup Management Service API", Description = "Meetup Management Service API (ASP.NET Core 2.2)", Contact = new Contact() { Name = "DotNetRu Server Contributors", Url = "https://github.com/DotNetRu/Server", Email = "" }, TermsOfService = "" }; #pragma warning restore SA1122 // Use string.Empty for empty strings options.SwaggerDoc("0.1.0", info); options.CustomSchemaIds(type => type.FriendlyId(true)); options.DescribeAllEnumsAsStrings(); // Include DataAnnotation attributes on Controller Action parameters as Swagger validation rules (e.g required, pattern, ..) // Use [ValidateModelState] on Actions to actually validate it in C# as well! options.OperationFilter <GeneratePathParamsValidationFilter>(); }
private void SetupSwagger(SwaggerGenOptions options, string apiName, IHostingEnvironment hostingEnv) { options.SwaggerDoc("v1", new Info { Title = apiName, Description = $"{apiName} (ASP.NET Core 2.2)", Version = "1.0.BUILD_NUMBER" }); options.DescribeAllEnumsAsStrings(); var comments = new XPathDocument($"{AppContext.BaseDirectory}{Path.DirectorySeparatorChar}{hostingEnv.ApplicationName}.xml"); options.OperationFilter <XmlCommentsOperationFilter>(comments); //options.AddSecurityDefinition("Bearer", new ApiKeyScheme() //{ // Description = "JWT Authorization header using the Bearer scheme. Example: \"Authorization: Bearer {token}\"", // Name = "Authorization", // In = "header", // Type = "apiKey" //}); options.IgnoreObsoleteActions(); }
/// <summary> /// SwaggerGen /// </summary> /// <param name="options"></param> private void SwaggerGen(SwaggerGenOptions options) { _versions.ForEach(version => options.SwaggerDoc(version, new Info { Title = "Mervi", Version = $"v{version}" })); //Determine base path for the application. var basePath = AppContext.BaseDirectory; var assemblyName = System.Reflection.Assembly.GetEntryAssembly().GetName().Name; var fileName = System.IO.Path.GetFileName(assemblyName + ".xml"); var xmlPath = System.IO.Path.Combine(basePath, fileName); //Set the comments path for the Swagger JSON and UI. options.IncludeXmlComments(xmlPath); options.DescribeAllEnumsAsStrings(); options.DocInclusionPredicate(HasVersion); //Setear configuracion para no harcodear el false options.OperationFilter <AddAuthorizationHeader>(false); options.OperationFilter <AddApiVersionHeader>(_versions.Last()); options.OperationFilter <AddUnprocessibleEntityResponseType>(); options.OperationFilter <AddInternalServerErrorResponseType>(); options.OperationFilter <RemoveExtraneousContentTypes>(); options.OrderActionsBy(x => $"{x.RelativePath} {x.HttpMethod}"); }
public static void Configure(SwaggerGenOptions options) { options.SwaggerDoc(SwaggerConstants.InvestorsGroup, new Info { Title = SwaggerConstants.InvestorsTitle, Version = "1.0" }); options.SwaggerDoc(SwaggerConstants.AdministratorsGroup, new Info { Title = SwaggerConstants.AdministratorsTitle, Version = "1.0" }); options.SwaggerDoc(SwaggerConstants.AnalyticsGroup, new Info { Title = SwaggerConstants.AnalyticsTitle, Version = "1.0" }); options.DescribeAllEnumsAsStrings(); options.OperationFilter <SwaggerExamplesDocumentFilter>(); options.DocumentFilter <SwaggerDescriptionDocumentFilter>("InvestorApi.Swagger.Documentation.md"); options.IncludeXmlComments(AppContext.BaseDirectory + "InvestorApi.xml"); options.IncludeXmlComments(AppContext.BaseDirectory + "InvestorApi.Contracts.xml"); options.AddSecurityDefinition("Bearer", new ApiKeyScheme() { Description = "Enter: Bearer {token}", Name = "Authorization", In = "header", Type = "apiKey" }); }
protected override void Configuration(SwaggerGenOptions options) { var xmlPath = Path.Combine(PlatformServices.Default.Application.ApplicationBasePath, PlatformServices.Default.Application.ApplicationName + ".xml"); if (File.Exists(xmlPath)) { options.IncludeXmlComments(xmlPath); } options.DescribeAllEnumsAsStrings(); options.OperationFilter <AddFileUploadParams>(); options.DocumentFilter <EndPointPathsAndParamsToLower>(); options.DocumentFilter <SetVersionInPaths>(); options.SchemaFilter <PagedResultSchemaFilter>(); }
/// <summary> /// Setups swagger /// </summary> /// <param name="swaggerOptions"></param> /// <param name="apiVersion">Api version. e.g: "v1"</param> /// <param name="apiTitle">Api title</param> public static void DefaultLykkeConfiguration(this SwaggerGenOptions swaggerOptions, string apiVersion, string apiTitle) { swaggerOptions.SwaggerDoc( $"{apiVersion}", new OpenApiInfo { Version = apiVersion, Title = apiTitle }); swaggerOptions.DescribeAllEnumsAsStrings(); swaggerOptions.EnableXmsEnumExtension(); swaggerOptions.EnableXmlDocumentation(); swaggerOptions.MakeResponseValueTypesRequired(); }
internal static void ConfigureSwaggerGen(SwaggerGenOptions options) { AddSwaggerDocPerVersion(options); ApplyDocInclusions(options); AddSecurityDefinition(options); var xmlFiles = Directory.GetFiles(AppContext.BaseDirectory, "*.xml"); foreach (var xmlFile in xmlFiles) { options.IncludeXmlComments(xmlFile); } options.DescribeAllEnumsAsStrings(); options.OperationFilter <FormatXmlCommentProperties>(); }
internal static void ConfigureSwaggerGen(SwaggerGenOptions swaggerGenOptions) { var webApiAssembly = Assembly.GetEntryAssembly(); AddSwaggerDocPerVersion(swaggerGenOptions, webApiAssembly); ApplyDocInclusions(swaggerGenOptions); var xmlFiles = Directory.GetFiles(AppContext.BaseDirectory, "*.xml"); foreach (var xmlFile in xmlFiles) { swaggerGenOptions.IncludeXmlComments(xmlFile); } swaggerGenOptions.DescribeAllEnumsAsStrings(); swaggerGenOptions.OperationFilter <FormatXmlCommentProperties>(); }
/// <summary> /// /// </summary> /// <param name="swaggerGenOptions"></param> protected virtual void ConfigureSwagger(SwaggerGenOptions swaggerGenOptions) { swaggerGenOptions.SwaggerDoc(Constants.ApiVersions.V1, new Info { Version = Constants.Swagger.ApiVersions.V1.Version, Title = Constants.Swagger.ApiVersions.V1.Title, Description = Constants.Swagger.ApiVersions.V1.Description, TermsOfService = Constants.Swagger.ApiVersions.V1.TermsOfService, Contact = new Contact() { Name = Constants.Swagger.Contact.Name, Email = Constants.Swagger.Contact.Email, Url = Constants.Swagger.Contact.Url } }); swaggerGenOptions.CustomSchemaIds(x => x.FullName); swaggerGenOptions.IncludeXmlComments(GetXmlCommentsPath()); swaggerGenOptions.DescribeAllEnumsAsStrings(); swaggerGenOptions.OperationFilter <MultipleOperationsWithSameVerbFilter>(); }
public static void ConfigureSwaggerGen(SwaggerGenOptions swaggerGenOptions) { var webApiAssembly = Assembly.GetEntryAssembly(); AddSwaggerDocPerVersion(swaggerGenOptions, webApiAssembly); ApplyDocInclusions(swaggerGenOptions); var xmlFiles = Directory.GetFiles(AppContext.BaseDirectory, "*.xml"); foreach (var xmlFile in xmlFiles) { swaggerGenOptions.IncludeXmlComments(xmlFile); } swaggerGenOptions.DescribeAllEnumsAsStrings(); swaggerGenOptions.OperationFilter <FormatXmlCommentProperties>(); swaggerGenOptions.OperationFilter <AuthorizationInputOperationFilter>(); // Adds an Authorization input box to every endpoint swaggerGenOptions.OperationFilter <AppendAuthorizeToSummaryOperationFilter>(); // Adds "(Auth)" to the summary so that you can see which endpoints have Authorization }
private void SetupSwagger(SwaggerGenOptions options, string apiName, IHostingEnvironment hostingEnv) { options.SwaggerDoc("v1", new Info { Title = apiName, Description = $"{apiName} (ASP.NET Core 2.2)", Version = "1.0.BUILD_NUMBER" }); options.DescribeAllEnumsAsStrings(); var comments = new XPathDocument($"{AppContext.BaseDirectory}{Path.DirectorySeparatorChar}{hostingEnv.ApplicationName}.xml"); options.OperationFilter <XmlCommentsOperationFilter>(comments); options.IgnoreObsoleteActions(); }
private static void SetupGenOptions(SwaggerGenOptions options) { options.SwaggerDoc("v1", new Info { Version = "v1", Title = "Base64 Diff API", Contact = new Contact { Name = "Caliel Costa", Url = "https://github.com/calielc/Base64Diff", Email = "*****@*****.**" } }); foreach (var xml in new[] { "Caliel.Base64Diff.Api.xml", "Caliel.Base64Diff.Domain.xml" }) { options.IncludeXmlComments(Path.Combine(PlatformServices.Default.Application.ApplicationBasePath, xml)); } options.IgnoreObsoleteProperties(); options.IgnoreObsoleteActions(); options.DescribeAllEnumsAsStrings(); }
/// <summary> /// Configure generation of swagger documentation. /// </summary> /// <param name="swaggerGenOptions">Swagger code generation options.</param> public static void ConfigureSwaggerGen(SwaggerGenOptions swaggerGenOptions) { Assembly webApiAssembly = Assembly.GetEntryAssembly(); AddSwaggerDocPerVersion(swaggerGenOptions, webApiAssembly); ApplyDocInclusions(swaggerGenOptions); IncludeXmlComments(swaggerGenOptions, webApiAssembly); swaggerGenOptions.AddSecurityDefinition( "Bearer", new ApiKeyScheme { Description = "JWT Authorization header using the Bearer scheme. Example: \"Authorization: Bearer {token}\"", Name = "Authorization", In = "header", Type = "apiKey" }); swaggerGenOptions.IgnoreObsoleteActions(); swaggerGenOptions.DescribeAllEnumsAsStrings(); }
private static void SetupAction(SwaggerGenOptions options, string authorizationUrl) { options.SwaggerDoc(GetVersion(), new Info { Title = "CoreDocker API", Description = "Contains CoreDocker api descriptions." }); options.DescribeAllEnumsAsStrings(); var scopeApi = IocApi.Instance.Resolve <OpenIdSettings>().ScopeApi; options.AddSecurityDefinition("oauth2", new OAuth2Scheme { Type = "oauth2", Flow = "password", TokenUrl = authorizationUrl.UriCombine("connect/token"), AuthorizationUrl = authorizationUrl, Scopes = new Dictionary <string, string> { { scopeApi.UnderScoreAndCamelCaseToHumanReadable(), scopeApi } } }); }
/// <summary> /// Método que faz a configuração para do Swagger. /// </summary> /// <param name="options">Objeto que contém as configurações para o Swagger.</param> /// <param name="configuration"></param> public static void ConfigureSwaggerGenOptions(this SwaggerGenOptions options, IConfiguration configuration) { options.SwaggerDoc("v1", new Info() { Title = $"API Fonética Líder DPVAT - { configuration.GetSection("AmbienteConfiguration:Nome").Value }", //Version = System.Reflection.Assembly.GetEntryAssembly().GetName().Version.ToString(), Version = configuration.GetSection("Versao").Value, Description = "API que controlará o Fonetica.", Contact = new Contact() { Name = "Seguradora Líder DPVAT", Url = "https://www.seguradoralider.com.br" } }); options.AddSecurityDefinition("Bearer", new ApiKeyScheme { Description = "JWT Authorization header using the Bearer scheme. Example: \"Authorization: Bearer {token}\"", Name = "Authorization", In = "header", Type = "apiKey" }); options.DescribeAllEnumsAsStrings(); options.OperationFilter<AddFileParamTypesOperationFilter>(); options.AddSecurityRequirement(new Dictionary<string, IEnumerable<string>> { { "Bearer", Enumerable.Empty<string>() }, }); string caminhoAplicacao = PlatformServices.Default.Application.ApplicationBasePath; string nomeAplicacao = PlatformServices.Default.Application.ApplicationName; string caminhoXmlDoc = Path.Combine(caminhoAplicacao, $"{nomeAplicacao}.xml"); options.IncludeXmlComments(caminhoXmlDoc); options.IgnoreObsoleteActions(); options.IgnoreObsoleteProperties(); }
public static SwaggerGenOptions AddElectSwaggerGenOptions([NotNull] SwaggerGenOptions swaggerGenOptions, [NotNull] Action <ElectSwaggerOptions> configuration) { var options = configuration.GetValue(); // Doc Info swaggerGenOptions.SwaggerDoc(options.Version, new Info { Title = options.Title, Version = options.Version, Contact = !string.IsNullOrWhiteSpace(options.AuthorName) && !string.IsNullOrWhiteSpace(options.AuthorWebsite) && !string.IsNullOrWhiteSpace(options.AuthorEmail) ? new Contact { Name = options.AuthorName, Url = options.AuthorWebsite, Email = options.AuthorEmail } : null }); // XML IncludeXmlCommentsIfExists(swaggerGenOptions, Assembly.GetEntryAssembly()); // Filers swaggerGenOptions.OperationFilter <ApiDocGroupOperationFilter>(); swaggerGenOptions.OperationFilter <GlobalParameterOperationFilter>(); swaggerGenOptions.OperationFilter <ParameterOperationFilter>(); swaggerGenOptions.DocumentFilter <ShowHideInApiDocDocumentFilter>(); swaggerGenOptions.IgnoreObsoleteProperties(); swaggerGenOptions.IgnoreObsoleteActions(); // Type / Properties if (options.IsFullSchemaForType) { swaggerGenOptions.CustomSchemaIds(type => type.FullName); } if (options.IsDescribeAllParametersInCamelCase) { swaggerGenOptions.DescribeAllParametersInCamelCase(); } if (options.IsDescribeAllEnumsAsString) { swaggerGenOptions.DescribeAllEnumsAsStrings(); if (options.IsDescribeAllParametersInCamelCase) { swaggerGenOptions.DescribeStringEnumsInCamelCase(); } } // Order swaggerGenOptions.OrderActionsBy(apiDesc => apiDesc.ActionDescriptor.DisplayName); return(swaggerGenOptions); }
protected override void Configuration(SwaggerGenOptions options) { options.DescribeAllEnumsAsStrings(); }