This commit is contained in:
yuejiajun 2025-09-29 16:52:56 +08:00
parent 80bd441ee6
commit 088dc1bf09
5 changed files with 66 additions and 6 deletions

11
pom.xml
View File

@ -258,8 +258,19 @@
<resource> <resource>
<directory>src/main/resources</directory> <directory>src/main/resources</directory>
<includes> <includes>
<!-- jinjia2模板文件 -->
<include>**/**/*.j2</include> <include>**/**/*.j2</include>
<!-- Mapper文件、XML转化文件 -->
<include>**/*.xml</include> <include>**/*.xml</include>
<!-- 启动配置文件 -->
<include>**/*.yml</include>
<include>**/*.yaml</include>
<include>**/*.properties</include>
<!-- 静态资源 -->
<include>**/*.ico</include>
<include>**/*.css</include>
<include>**/*.js</include>
<include>**/*.html</include>
</includes> </includes>
<filtering>false</filtering> <filtering>false</filtering>
</resource> </resource>

View File

@ -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, "");
// 获取当前激活的环境如devtestprod
String[] activeProfiles = environment.getActiveProfiles();
String activeProfile = activeProfiles.length > 0 ? activeProfiles[0] : "default";
// 输出包含环境信息和动态端口的API文档地址
System.out.printf("当前环境: %sAPI文档地址: http://localhost:%s%s/doc.html#/%n",
activeProfile, port, path);
}
}

View File

@ -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
}
}

View File

@ -1,8 +1,8 @@
# 服务器配置 # 服务器配置
server: server:
port: 8080 port: 19290
servlet: # servlet:
context-path: /parser # context-path: /parser
# 通用 log 输出配置 # 通用 log 输出配置
logging: logging:
@ -21,6 +21,8 @@ spring:
max-file-size: 10MB max-file-size: 10MB
max-request-size: 10MB max-request-size: 10MB
profiles: profiles:
# active: orm,h2,sqlite,springdoc
# active: ${spring.profiles.group.dev}
active: dev active: dev
group: group:
dev: orm,h2,sqlite,springdoc dev: orm,h2,sqlite,springdoc

View File

@ -44,7 +44,7 @@ public class ApplicationTest__04 {
@SneakyThrows @SneakyThrows
@Test @Test
@DisplayName("testOne - 多层级XML草稿04 - 【已验证】") @DisplayName("testOne - 多层级XML并写入文件草稿04 - 【已验证】")
public void testOne() { public void testOne() {
List<String> dataList = new ArrayList<>() {{ List<String> dataList = new ArrayList<>() {{
@ -57,6 +57,7 @@ public class ApplicationTest__04 {
String inputTemplateData = prefix + "default.json"; String inputTemplateData = prefix + "default.json";
String inputData = prefix + dataList.get(new Random().nextInt(dataList.size())); String inputData = prefix + dataList.get(new Random().nextInt(dataList.size()));
String processJSONFile = "output-transformed-cg-003__04.json"; String processJSONFile = "output-transformed-cg-003__04.json";
String processTextFile = "output-transformed-cg-003__04.txt";
// Step.1 // Step.1
try { try {
@ -92,8 +93,9 @@ public class ApplicationTest__04 {
// Step.3 // Step.3
Map demoData = JSON.parseObject(result, Map.class); Map demoData = JSON.parseObject(result, Map.class);
System.out.println("=== 测试动态模板 ==="); System.out.println("=== 测试动态模板 ===");
String result1 = EnhancedTemplateGenerator.generateCodeWithFormat(demoData, "generator/jinjia2/dynamic-template.j2"); String content = EnhancedTemplateGenerator.generateCodeWithFormat(demoData, "generator/jinjia2/dynamic-template.j2");
System.out.println(result1); System.out.println(content);
Files.writeString(Path.of(processTextFile), content, StandardCharsets.UTF_8);
} }
} }