From 708ccc294dd8a8cf8721243cc16b24b45c9f1b06 Mon Sep 17 00:00:00 2001 From: Liam Date: Wed, 10 Apr 2024 10:09:34 +0100 Subject: [PATCH] fix wrong url being used for swagger --- src/main/java/cc.fascinated/Main.java | 8 +---- .../config/OpenAPIConfiguration.java | 35 +++++++++++++++++++ 2 files changed, 36 insertions(+), 7 deletions(-) create mode 100644 src/main/java/cc.fascinated/config/OpenAPIConfiguration.java diff --git a/src/main/java/cc.fascinated/Main.java b/src/main/java/cc.fascinated/Main.java index ba459a5..3d2d72f 100644 --- a/src/main/java/cc.fascinated/Main.java +++ b/src/main/java/cc.fascinated/Main.java @@ -5,6 +5,7 @@ import io.swagger.v3.oas.annotations.OpenAPIDefinition; import io.swagger.v3.oas.annotations.info.Contact; import io.swagger.v3.oas.annotations.info.Info; import io.swagger.v3.oas.annotations.info.License; +import io.swagger.v3.oas.annotations.servers.Server; import lombok.SneakyThrows; import lombok.extern.log4j.Log4j2; import org.springframework.boot.SpringApplication; @@ -18,13 +19,6 @@ import java.util.Objects; @Log4j2 @SpringBootApplication -@OpenAPIDefinition(info = @Info( - title = "Minecraft Utilities API", - version = "1.0", - description = "Wrapper for the Minecraft APIs to make them easier to use.", - contact = @Contact(name = "Liam", email = "liam@fascinated.cc", url = "https://fascinated.cc"), - license = @License(name = "MIT License", url = "https://opensource.org/licenses/MIT") -)) public class Main { public static final Gson GSON = new Gson(); diff --git a/src/main/java/cc.fascinated/config/OpenAPIConfiguration.java b/src/main/java/cc.fascinated/config/OpenAPIConfiguration.java new file mode 100644 index 0000000..1e5b5f5 --- /dev/null +++ b/src/main/java/cc.fascinated/config/OpenAPIConfiguration.java @@ -0,0 +1,35 @@ +package cc.fascinated.config; + +import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.info.Contact; +import io.swagger.v3.oas.models.info.Info; +import io.swagger.v3.oas.models.info.License; +import io.swagger.v3.oas.models.servers.Server; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.util.List; + +@Configuration +public class OpenAPIConfiguration { + + @Bean + public OpenAPI defineOpenAPI() { + Server server = new Server(); + server.setUrl(Config.INSTANCE.getWebPublicUrl()); + + Contact contact = new Contact(); + contact.setName("Liam"); + contact.setEmail("liam@fascinated.cc"); + contact.setUrl("https://fascinated.cc"); + + Info info = new Info(); + info.setTitle("Minecraft Utilities API"); + info.setVersion("1.0"); + info.setDescription("Wrapper for the Minecraft APIs to make them easier to use."); + info.setContact(contact); + info.setLicense(new License().name("MIT License").url("https://opensource.org/licenses/MIT")); + + return new OpenAPI().servers(List.of(server)).info(info); + } + }