这是一个基于Spring Boot 3的小程序后端服务器项目,提供用户认证、用户管理等核心功能。项目采用现代化的技术栈和标准化的开发规范。
src/main/java/com/example/demo/
├── DemoApplication.java # 主启动类
├── config/ # 配置类
│ └── WebSecurityConfig.java # 安全配置
├── controller/ # 控制器层
│ ├── AuthController.java # 认证控制器
│ └── UserController.java # 用户控制器
├── service/ # 服务层
│ └── UserService.java # 用户服务
├── repository/ # 数据访问层
│ └── UserRepository.java # 用户数据访问
├── entity/ # 实体类
│ └── User.java # 用户实体
├── dto/ # 数据传输对象
│ ├── request/ # 请求DTO
│ │ ├── LoginRequest.java # 登录请求
│ │ └── RegisterRequest.java # 注册请求
│ └── response/ # 响应DTO
│ └── LoginResponse.java # 登录响应
├── common/ # 公共类
│ ├── ApiResponse.java # 统一响应格式
│ └── GlobalExceptionHandler.java # 全局异常处理
├── security/ # 安全相关
│ └── JwtAuthenticationFilter.java # JWT认证过滤器
└── utils/ # 工具类
└── JwtUtils.java # JWT工具类
POST /api/auth/login{
"username": "testuser",
"password": "password123"
}
{
"code": 200,
"message": "登录成功",
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"tokenType": "Bearer",
"expiresIn": 86400,
"userInfo": {
"userId": 1,
"username": "testuser",
"email": "test@example.com",
"role": "USER"
}
},
"timestamp": "2025-09-30T11:00:00Z"
}
POST /api/auth/register{
"username": "newuser",
"password": "Password123",
"confirmPassword": "Password123",
"email": "newuser@example.com",
"verificationCode": "123456"
}
GET /api/auth/check-username?username=testuserGET /api/auth/check-email?email=test@example.comPOST /api/auth/refresh-tokenAuthorization: Bearer <current_token>GET /api/usersGET /api/users/{id}GET /api/users/mePUT /api/users/{id}{
"username": "newusername",
"email": "newemail@example.com"
}
PUT /api/users/{id}/password{
"oldPassword": "oldpass123",
"newPassword": "newpass123"
}
DELETE /api/users/{id}GET /api/users/statsGET /api/users/page?page=1&size=10CREATE TABLE `user` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`username` varchar(50) NOT NULL COMMENT '用户名',
`password` varchar(100) NOT NULL COMMENT '密码(加密)',
`email` varchar(100) DEFAULT NULL COMMENT '邮箱地址',
`role` varchar(20) NOT NULL DEFAULT 'USER' COMMENT '用户角色',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_username` (`username`),
UNIQUE KEY `uk_email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
demoscripts/sql/init_database.sqlapplication.properties 中的数据库连接信息# 编译项目
mvn clean compile
# 运行项目
mvn spring-boot:run
# 使用Docker Compose启动
docker-compose up -d
项目启动后,可以通过以下方式测试接口:
allnotice, password=12345678# 服务器配置
server.port=8080
# 数据库配置
spring.datasource.url=jdbc:mysql://localhost:3306/demo
spring.datasource.username=root
spring.datasource.password=22222hua
# JWT配置
jwt.secret=mySecretKeyForJWTTokenGenerationAndValidation2025
jwt.expiration=86400000
jwt.issuer=demo-app
# 邮件配置
spring.mail.host=smtp.163.com
spring.mail.username=webdom@163.com
spring.mail.password=PJgBcDuEcz3u8Ymq
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情
如有问题或建议,请通过以下方式联系:
注意: 这是一个演示项目,生产环境使用前请确保: