feat(Swagger): OpenApiInfo über appsettings konfiguriert.

This commit is contained in:
Developer 02 2024-10-29 10:44:20 +01:00
parent edcf3781b7
commit 8038ff74dd
2 changed files with 14 additions and 2 deletions

View File

@ -13,6 +13,7 @@ using NLog.Web;
using WorkFlow.API.Extensions;
using Microsoft.Extensions.Configuration;
using WorkFlow.API.Filters;
using Microsoft.OpenApi.Models;
var logger = LogManager.Setup().LoadConfigurationFromAppSettings().GetCurrentClassLogger();
logger.Info("Logging initialized.");
@ -63,10 +64,13 @@ try
});
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen(c =>
builder.Services.AddSwaggerGen(setupAct =>
{
if(useApiKey)
c.OperationFilter<APIKeyAuthHeaderOpFilter>();
setupAct.OperationFilter<APIKeyAuthHeaderOpFilter>();
if(config.GetSection("OpenApiInfo").Get<OpenApiInfo>() is OpenApiInfo openApiInfo)
setupAct.SwaggerDoc(openApiInfo?.Version ?? "v1", openApiInfo);
});
var app = builder.Build();

View File

@ -67,5 +67,13 @@
"Key": "ULbcOUiAXAoCXPviyCGtObZUGnrCHNgDmtNbQNpq5MOhB0EFQn18dObdQ93INNy8xIcnOPMJfEHqOotllELVrJ2R5AjqOfQszT2j00w215GanD3UiJGwFhwmdoNFsmNj",
"HeaderName": "X-API-Key",
"SwaggerDescription": "Required header for API key authentication. Enter a valid API key."
},
"OpenApiInfo": {
"Title": "WorkFlow API",
"Contact": {
"Email": "info-flow@digitaldata.works",
"Name": "Digital Data GmbH",
"Url": "https://digitaldata.works/"
}
}
}