From 0b56590e3f65cad0ab7c207a8e4967e65ecf09e4 Mon Sep 17 00:00:00 2001 From: hsiegeln <37154749+hsiegeln@users.noreply.github.com> Date: Sun, 15 Mar 2026 14:59:12 +0100 Subject: [PATCH] Fix Swagger UI CORS: add /api/v1 server URL to OpenAPI spec The empty servers list caused Swagger UI to construct request URLs without the /api/v1 prefix, resulting in CORS/fetch failures. Adding a relative server entry makes paths resolve correctly. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../java/com/cameleer3/server/app/config/OpenApiConfig.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cameleer3-server-app/src/main/java/com/cameleer3/server/app/config/OpenApiConfig.java b/cameleer3-server-app/src/main/java/com/cameleer3/server/app/config/OpenApiConfig.java index 93fe69ba..2cdc9cc4 100644 --- a/cameleer3-server-app/src/main/java/com/cameleer3/server/app/config/OpenApiConfig.java +++ b/cameleer3-server-app/src/main/java/com/cameleer3/server/app/config/OpenApiConfig.java @@ -8,6 +8,7 @@ import io.swagger.v3.oas.models.info.Info; import io.swagger.v3.oas.models.media.ArraySchema; import io.swagger.v3.oas.models.media.Schema; import io.swagger.v3.oas.models.security.SecurityRequirement; +import io.swagger.v3.oas.models.servers.Server; import org.springdoc.core.customizers.OpenApiCustomizer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -38,7 +39,7 @@ public class OpenApiConfig { return new OpenAPI() .info(new Info().title("Cameleer3 Server API").version("1.0")) .addSecurityItem(new SecurityRequirement().addList("bearer")) - .servers(List.of()); + .servers(List.of(new Server().url("/api/v1").description("Relative"))); } @Bean