diff --git a/README.md b/README.md index 985bf75..1471ff5 100644 --- a/README.md +++ b/README.md @@ -3,3 +3,5 @@ Java 17 / Spring Boot 4.1 / MySQL 8 / MyBatis-Plus DDD 脚手架。 设置 `DIGITAL_RMB_DB_URL`、`DIGITAL_RMB_DB_USERNAME`、`DIGITAL_RMB_DB_PASSWORD`、`DIGITAL_RMB_JWT_SECRET`(至少 64 字符)、`DIGITAL_RMB_BOOTSTRAP_ADMIN_USERNAME`、`DIGITAL_RMB_BOOTSTRAP_ADMIN_PASSWORD` 后运行 `mvn spring-boot:run`。测试使用内存 H2:`mvn test`。 + +开发时以 `--spring.profiles.active=dev` 启动,控制台会打印 Swagger UI 地址:`http://localhost:8080/swagger-ui/index.html`;生产默认关闭 Swagger UI。 diff --git a/src/main/java/com/yau/digitalrmb/shared/config/SwaggerStartupLogger.java b/src/main/java/com/yau/digitalrmb/shared/config/SwaggerStartupLogger.java new file mode 100644 index 0000000..1601353 --- /dev/null +++ b/src/main/java/com/yau/digitalrmb/shared/config/SwaggerStartupLogger.java @@ -0,0 +1,30 @@ +package com.yau.digitalrmb.shared.config; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.boot.context.event.ApplicationReadyEvent; +import org.springframework.context.event.EventListener; +import org.springframework.core.env.Environment; +import org.springframework.stereotype.Component; + +@Component +public class SwaggerStartupLogger { + private static final Logger LOGGER = LoggerFactory.getLogger(SwaggerStartupLogger.class); + private final Environment environment; + + public SwaggerStartupLogger(Environment environment) { + this.environment = environment; + } + + @EventListener(ApplicationReadyEvent.class) + public void printSwaggerAddresses() { + if (!environment.getProperty("springdoc.swagger-ui.enabled", Boolean.class, false)) { + return; + } + String port = environment.getProperty("local.server.port", environment.getProperty("server.port", "8080")); + String contextPath = environment.getProperty("server.servlet.context-path", ""); + String baseUrl = "http://localhost:" + port + contextPath; + LOGGER.info("Swagger UI: {}/swagger-ui/index.html", baseUrl); + LOGGER.info("OpenAPI JSON: {}/v3/api-docs", baseUrl); + } +} diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml new file mode 100644 index 0000000..3ecb264 --- /dev/null +++ b/src/main/resources/application-dev.yml @@ -0,0 +1,3 @@ +springdoc: + swagger-ui: + enabled: true