coder-common-thin-backend/pom.xml
Leo f3bc4ace1f feat: 集成OpenAPI 3.0文档并添加中文接口注解
 新增功能:
- 集成SpringDoc OpenAPI 3.0依赖和配置
- 创建OpenApiConfig配置类,设置中文API文档信息
- 为所有Controller类添加@Tag中文标签注解
- 为所有Controller方法添加@Operation中文描述注解

📝 涉及模块:
- 根pom.xml: 添加springdoc依赖版本管理
- coder-common-thin-web: 添加OpenAPI依赖和配置
- coder-common-thin-system: 添加OpenAPI依赖
- application-dev.yml: 配置SpringDoc参数

🎯 改进内容:
- 用户管理: 15个接口方法的中文注解
- 登录认证: 3个接口方法的中文注解
- 验证码管理: 2个接口方法的中文注解
- 菜单管理: 13个接口方法的中文注解
- 角色管理: 11个接口方法的中文注解
- 文件管理: 2个接口方法的中文注解
- 系统文件管理: 7个接口方法的中文注解
- 图库管理: 7个接口方法的中文注解
- 登录日志: 7个接口方法的中文注解

🚀 使用效果:
- 访问 /swagger-ui.html 可查看完整中文API文档
- 同步到Apifox时显示中文接口名称和描述
- API按功能模块分组,便于管理和使用
2025-07-05 16:35:59 +08:00

280 lines
12 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.leocoder.thin</groupId>
<artifactId>coder-common-thin-backend</artifactId>
<version>${revision}</version>
<!-- 父工程标识 -->
<name>coder-common-thin-backend</name>
<packaging>pom</packaging>
<description>父模块</description>
<modules>
<module>coder-common-thin-web</module>
<module>coder-common-thin-mybatisplus</module>
<module>coder-common-thin-modules</module>
<module>coder-common-thin-plugins</module>
<module>coder-common-thin-model</module>
<module>coder-common-thin-common</module>
</modules>
<!-- 打包执行 clean + package -->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<revision>1.0.0</revision>
<java.version>17</java.version>
<springboot.version>3.5.0</springboot.version>
<lombok.version>1.18.38</lombok.version>
<mysql.version>9.3.0</mysql.version>
<mybatis.version>3.0.4</mybatis.version>
<mybatisplus.version>3.5.12</mybatisplus.version>
<p6spy.version>3.9.1</p6spy.version>
<dynamic.version>4.3.1</dynamic.version>
<satoken.version>1.43.0</satoken.version>
<hutool.version>5.8.38</hutool.version>
<fastjson2.version>2.0.57</fastjson2.version>
<lang3.version>3.17.0</lang3.version>
<oshi.version>6.8.1</oshi.version>
<guava.version>33.4.8-jre</guava.version>
<ip2region.version>3.4.5</ip2region.version>
<easyexcel.version>4.0.3</easyexcel.version>
<UserAgentUtils.version>1.21</UserAgentUtils.version>
<pool2.version>2.12.1</pool2.version>
<validator.version>9.0.0.Final</validator.version>
<jodaTime.version>2.14.0</jodaTime.version>
<captcha.version>1.6.2</captcha.version>
<freemarker.version>2.3.34</freemarker.version>
<springdoc.version>2.7.0</springdoc.version>
<!-- 插件版本 -->
<maven-compiler-plugin.verison>3.14.0</maven-compiler-plugin.verison>
<maven-resources-plugin.version>3.3.1</maven-resources-plugin.version>
</properties>
<dependencyManagement>
<dependencies>
<!-- Springframework -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${springboot.version}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<!-- Lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</dependency>
<!-- MySQL -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>${mysql.version}</version>
</dependency>
<!-- MyBatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>${mybatis.version}</version>
</dependency>
<!-- MyBatisPlus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>${mybatisplus.version}</version>
</dependency>
<!-- MyBatisPlus PaginationInnerInterceptor分离插件 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-jsqlparser</artifactId>
<version>${mybatisplus.version}</version>
</dependency>
<!-- P6spy SQL打印 -->
<dependency>
<groupId>p6spy</groupId>
<artifactId>p6spy</artifactId>
<version>${p6spy.version}</version>
</dependency>
<!-- 动态数据源 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot3-starter</artifactId>
<version>${dynamic.version}</version>
</dependency>
<!-- hutool工具类 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>${hutool.version}</version>
</dependency>
<!-- 阿里JSON解析FastjsonAddressUtil、Xss等工具类使用 -->
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>${fastjson2.version}</version>
</dependency>
<!-- 判断是否为空工具类 -->
<!-- StringUtils.isNotBlank()[true] 和 StringUtils.isBlank()[true] -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${lang3.version}</version>
</dependency>
<!-- 参数校验 @NotNull等 -->
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>${validator.version}</version>
</dependency>
<!-- IpUtils工具类使用joda-time日期工具类日期处理可以做到日期的相加和减的功能, coderLogAspect日志切面用到这个 -->
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>${jodaTime.version}</version>
</dependency>
<!-- 解析客户端操作系统、浏览器等 -->
<dependency>
<groupId>eu.bitwalker</groupId>
<artifactId>UserAgentUtils</artifactId>
<version>${UserAgentUtils.version}</version>
</dependency>
<!-- 获取服务器信息 -->
<!-- oshi-core插件是开源的获取系统信息的工具通过该工具可以方便的帮助我们获取丰富的系统信息包括操作系统信息、服务器信息、JVM信息、磁盘信息等等。-->
<dependency>
<groupId>com.github.oshi</groupId>
<artifactId>oshi-core</artifactId>
<version>${oshi.version}</version>
</dependency>
<!-- Google Guava工具类内涵StringUtils新增方法等 -->
<!-- Guava含有令牌桶和漏桶但是没有客户端IP这些维度 -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<!-- 根据Ip获取地理位置 -->
<dependency>
<groupId>net.dreamlu</groupId>
<artifactId>mica-ip2region</artifactId>
<version>${ip2region.version}</version>
</dependency>
<!-- Easyexcel -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>${easyexcel.version}</version>
</dependency>
<!-- Sa-Token 权限认证 starter -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-spring-boot3-starter</artifactId>
<version>${satoken.version}</version>
</dependency>
<!-- Sa-Token 整合 Redis (使用 jackson 序列化方式) -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-redis-jackson</artifactId>
<version>${satoken.version}</version>
</dependency>
<!-- 注意:无论使用哪种序列化方式,你都必须为项目提供一个 Redis 实例化方案 -->
<!-- 提供Redis连接池 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
<version>${pool2.version}</version>
</dependency>
<!-- Sa-Token 整合 SpringAOP 实现注解鉴权 -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-spring-aop</artifactId>
<version>${satoken.version}</version>
</dependency>
<!-- 验证码-->
<dependency>
<groupId>com.github.whvcse</groupId>
<artifactId>easy-captcha</artifactId>
<version>${captcha.version}</version>
</dependency>
<!-- Freemarker -->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>${freemarker.version}</version>
</dependency>
<!-- SpringDoc OpenAPI 3.0 -->
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>${springdoc.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<!-- 统一插件管理 -->
<pluginManagement>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${springboot.version}</version>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.verison}</version>
<configuration>
<parameters>true</parameters>
<source>${java.version}</source>
<target>${java.version}</target>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>${maven-resources-plugin.version}</version>
</plugin>
</plugins>
</pluginManagement>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*</include>
</includes>
</resource>
</resources>
</build>
</project>