From 088dc1bf0995911b3562f35cb81f8a9be58690df Mon Sep 17 00:00:00 2001 From: yuejiajun <1530620364@qq.com> Date: Mon, 29 Sep 2025 16:52:56 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 11 +++++++ .../springdoc/OpenApiStarterOutput.java | 32 +++++++++++++++++++ .../demo/common/config/web/WebConfig.java | 13 ++++++++ src/main/resources/application.yml | 8 +++-- .../core/draft/ApplicationTest__04.java | 8 +++-- 5 files changed, 66 insertions(+), 6 deletions(-) create mode 100644 src/main/java/com/example/demo/common/config/springdoc/OpenApiStarterOutput.java create mode 100644 src/main/java/com/example/demo/common/config/web/WebConfig.java diff --git a/pom.xml b/pom.xml index ae73db0..ae76ffc 100644 --- a/pom.xml +++ b/pom.xml @@ -258,8 +258,19 @@ src/main/resources + **/**/*.j2 + **/*.xml + + **/*.yml + **/*.yaml + **/*.properties + + **/*.ico + **/*.css + **/*.js + **/*.html false diff --git a/src/main/java/com/example/demo/common/config/springdoc/OpenApiStarterOutput.java b/src/main/java/com/example/demo/common/config/springdoc/OpenApiStarterOutput.java new file mode 100644 index 0000000..98e3c71 --- /dev/null +++ b/src/main/java/com/example/demo/common/config/springdoc/OpenApiStarterOutput.java @@ -0,0 +1,32 @@ +package com.example.demo.common.config.springdoc; + +import lombok.RequiredArgsConstructor; +import org.springframework.boot.CommandLineRunner; +import org.springframework.boot.autoconfigure.web.ServerProperties; +import org.springframework.core.env.Environment; +import org.springframework.stereotype.Component; + +@Component +@RequiredArgsConstructor +public class OpenApiStarterOutput implements CommandLineRunner { + + private final ServerProperties serverProperties; + private final Environment environment; + + @Override + public void run(String... args) throws Exception { + String pathInYaml = "server.servlet.context-path"; + String portInYaml = "server.port"; + + String port = environment.getProperty(portInYaml, "8080"); + String path = environment.getProperty(pathInYaml, ""); + + // 获取当前激活的环境(如dev、test、prod) + String[] activeProfiles = environment.getActiveProfiles(); + String activeProfile = activeProfiles.length > 0 ? activeProfiles[0] : "default"; + + // 输出包含环境信息和动态端口的API文档地址 + System.out.printf("当前环境: %s,API文档地址: http://localhost:%s%s/doc.html#/%n", + activeProfile, port, path); + } +} diff --git a/src/main/java/com/example/demo/common/config/web/WebConfig.java b/src/main/java/com/example/demo/common/config/web/WebConfig.java new file mode 100644 index 0000000..fe22752 --- /dev/null +++ b/src/main/java/com/example/demo/common/config/web/WebConfig.java @@ -0,0 +1,13 @@ +package com.example.demo.common.config.web; + +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@Configuration +public class WebConfig implements WebMvcConfigurer { + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + // ignore + } +} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 7219c11..6404b2f 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,8 +1,8 @@ # 服务器配置 server: - port: 8080 - servlet: - context-path: /parser + port: 19290 +# servlet: +# context-path: /parser # 通用 log 输出配置 logging: @@ -21,6 +21,8 @@ spring: max-file-size: 10MB max-request-size: 10MB profiles: + # active: orm,h2,sqlite,springdoc + # active: ${spring.profiles.group.dev} active: dev group: dev: orm,h2,sqlite,springdoc diff --git a/src/test/java/com/example/demo/parser/process/core/draft/ApplicationTest__04.java b/src/test/java/com/example/demo/parser/process/core/draft/ApplicationTest__04.java index 495e163..e556345 100644 --- a/src/test/java/com/example/demo/parser/process/core/draft/ApplicationTest__04.java +++ b/src/test/java/com/example/demo/parser/process/core/draft/ApplicationTest__04.java @@ -44,7 +44,7 @@ public class ApplicationTest__04 { @SneakyThrows @Test - @DisplayName("testOne - 多层级XML(草稿04) - 【已验证】") + @DisplayName("testOne - 多层级XML并写入文件(草稿04) - 【已验证】") public void testOne() { List dataList = new ArrayList<>() {{ @@ -57,6 +57,7 @@ public class ApplicationTest__04 { String inputTemplateData = prefix + "default.json"; String inputData = prefix + dataList.get(new Random().nextInt(dataList.size())); String processJSONFile = "output-transformed-cg-003__04.json"; + String processTextFile = "output-transformed-cg-003__04.txt"; // Step.1 try { @@ -92,8 +93,9 @@ public class ApplicationTest__04 { // Step.3 Map demoData = JSON.parseObject(result, Map.class); System.out.println("=== 测试动态模板 ==="); - String result1 = EnhancedTemplateGenerator.generateCodeWithFormat(demoData, "generator/jinjia2/dynamic-template.j2"); - System.out.println(result1); + String content = EnhancedTemplateGenerator.generateCodeWithFormat(demoData, "generator/jinjia2/dynamic-template.j2"); + System.out.println(content); + Files.writeString(Path.of(processTextFile), content, StandardCharsets.UTF_8); } }