logo
0
0
WeChat Login
feat: 集成Swagger OpenAPI并添加详细API文档

TaczWebService-Core

TACZ WebService Core 是一个基于 Spring Boot 构建的高性能后端服务,专为 TACZ (Timeless and Classics Zero) 枪械模组及相关社区生态提供数据支持。它集成了用户认证、数据统计、排行榜、资格查询以及与 Minecraft 服务器的实时数据同步功能。

🛠 技术栈

  • 框架: Spring Boot 3.x
  • 语言: Java 17
  • 数据库: MySQL 8.0 (生产环境) / H2 (开发/测试)
  • 缓存: Redis 7.0
  • ORM: Spring Data JPA (Hibernate)
  • 安全: Spring Security (BCrypt 加密)
  • 文档: SpringDoc OpenAPI (Swagger UI)
  • 构建工具: Gradle

✨ 功能特性

  • 用户系统:
    • 注册与登录 (JWT Token 鉴权)
    • 个人资料管理 (等级、经验、加入时间)
    • 详细的游戏数据统计 (K/D/A, 胜率, 爆头率)
    • 最近比赛记录查询
  • 游戏数据:
    • 实时排行榜 (支持按段位分或击杀数排序)
    • 服务器状态监控
  • 资格系统:
    • S1 赛季精英测试资格查询
    • 多维度查询 (支持 UID 或用户名)
  • MC 服务器集成:
    • 专用 API 接口 (/api/mc/**)
    • X-Server-API-Key 安全认证
    • 玩家进服资格校验
    • 实时数据同步与战报上传

🚀 快速开始

前置要求

  • JDK 17+
  • Docker & Docker Compose (推荐)
  • MySQL 8.0+ (如果不使用 Docker)
  • Redis 7.0+ (如果不使用 Docker)

1. 启动基础设施

使用 Docker Compose 快速启动 MySQL 和 Redis:

docker-compose up -d

2. 配置应用

修改 src/main/resources/application.properties

# 数据库配置 spring.datasource.url=jdbc:mysql://localhost:3306/tacz?useSSL=false spring.datasource.username=root spring.datasource.password=12345678 # Redis 配置 spring.data.redis.host=localhost spring.data.redis.port=6379 # MC 服务器 API Key (生产环境务必修改) server.api-key=tacz-server-secret-key-123456

3. 运行应用

./gradlew bootRun

应用启动后,访问 http://localhost:8080

📖 API 文档

本项目提供两种 API 文档格式:

  1. 在线交互式文档 (Swagger UI):

  2. 静态文档:

🤝 贡献指南

欢迎提交 Issue 和 Pull Request!

  1. Fork 本仓库
  2. 创建你的特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交你的修改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启一个 Pull Request

📄 许可证

本项目采用 Apache License 2.0 许可证。