From dc4af28f976eed946aa1988123d259806977a1c9 Mon Sep 17 00:00:00 2001 From: Tony Bark <35226681+tonytins@users.noreply.github.com> Date: Thu, 27 Nov 2025 12:22:42 -0500 Subject: [PATCH] Add Swagger/OpenAPI support for BarkAPI Integrated OpenAPI and Swagger UI for BarkAPI, including endpoint documentation and UI configuration for development environment. This will enhance API discoverability and testing during development. --- Program.cs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Program.cs b/Program.cs index 752ca90..0f8e0ce 100644 --- a/Program.cs +++ b/Program.cs @@ -1,8 +1,27 @@ var builder = WebApplication.CreateBuilder(args); builder.Services.AddDbContext(opt => opt.UseInMemoryDatabase("TodoDb")); builder.Services.AddDatabaseDeveloperPageExceptionFilter(); +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddOpenApiDocument(cfg => +{ + cfg.DocumentName = "BarkAPI"; + cfg.Title = "BarkAPI v1"; + cfg.Version = "v1"; +}); var app = builder.Build(); +if (app.Environment.IsDevelopment()) +{ + app.UseOpenApi(); + app.UseSwaggerUi(cfg => + { + cfg.DocumentTitle = "BarkAPI"; + cfg.Path = "/api"; + cfg.DocumentPath = "/api/{documentName}/swagger.json}"; + cfg.DocExpansion = "list"; + }); +} + app.MapGet("/", () => "Bark API"); app.MapGet("/todo", async (TodoDb db)