From 6fd6c9f20dd5f139142fcff382e3afb9cedd07f9 Mon Sep 17 00:00:00 2001 From: Huxley Deng Date: Mon, 7 Jul 2025 16:16:58 +0800 Subject: [PATCH] Enable API versioning with route group. Fix: the API routing is now versioned with prefix `api/v1`, aligned to OpenAPI specifications. --- OptixServe.Api/Endpoints/UserEndpoint.cs | 4 ++-- OptixServe.Api/Program.cs | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/OptixServe.Api/Endpoints/UserEndpoint.cs b/OptixServe.Api/Endpoints/UserEndpoint.cs index 0a76567..10ad026 100644 --- a/OptixServe.Api/Endpoints/UserEndpoint.cs +++ b/OptixServe.Api/Endpoints/UserEndpoint.cs @@ -11,9 +11,9 @@ public partial class UserJsonContext : JsonSerializerContext { } public static class UserEndpoint { - public static void Register(WebApplication app) + public static void Register(RouteGroupBuilder parentGroup) { - var group = app.MapGroup("/users"); + var group = parentGroup.MapGroup("/users"); group.MapGet("/", GetAllUsers); group.MapGet("/{id}", GetUserById); diff --git a/OptixServe.Api/Program.cs b/OptixServe.Api/Program.cs index 5a6961c..4952dd1 100644 --- a/OptixServe.Api/Program.cs +++ b/OptixServe.Api/Program.cs @@ -46,7 +46,8 @@ class Program builder.RegiserJsonContext(); var app = builder.Build(); - app.RegisterEndpoints(); + var apiGroup = app.MapGroup("api/v1"); + ExtensionMethods.RegisterEndpoints(apiGroup); app.Run(); }); @@ -113,9 +114,9 @@ static class ExtensionMethods /// Registers all API endpoints /// /// WebApplication instance - public static void RegisterEndpoints(this WebApplication app) + public static void RegisterEndpoints(RouteGroupBuilder rootGroup) { - UserEndpoint.Register(app); + UserEndpoint.Register(rootGroup); } } \ No newline at end of file