基于Spring Boot + Sa-Token + MyBatis-Plus + MySQL的权限管理API项目
- Spring Boot 2.7.18
- Sa-Token 1.37.0 (权限认证)
- MyBatis-Plus 3.5.3.1 (ORM框架)
- MySQL 8.0 (数据库)
- Lombok (代码简化)
src/
├── main/
│ ├── java/com/example/huaapi/
│ │ ├── config/ # 配置类
│ │ ├── controller/ # 控制器
│ │ ├── service/ # 服务层
│ │ ├── mapper/ # 数据访问层
│ │ ├── entity/ # 实体类
│ │ ├── dto/ # 数据传输对象
│ │ ├── common/ # 通用工具类
│ │ └── HuaApiApplication.java # 启动类
│ └── resources/
│ ├── sql/ # SQL脚本
│ └── application.yml # 配置文件
└── test/ # 测试代码
- JDK 1.8+
- MySQL 8.0+
- Maven 3.6+
- 创建数据库:
CREATE DATABASE hua_api CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;- 执行初始化脚本:
mysql -u root -p hua_api < src/main/resources/sql/init.sql编辑 src/main/resources/application.yml,修改数据库连接信息:
spring:
datasource:
url: jdbc:mysql://localhost:3306/hua_api
username: your_username
password: your_passwordmvn spring-boot:run项目启动后访问:http://localhost:8080/api
POST /api/auth/register- 用户注册POST /api/auth/login- 用户登录POST /api/auth/logout- 退出登录GET /api/auth/info- 获取当前用户信息
GET /api/user/list- 用户列表(分页)GET /api/user/{id}- 获取用户详情GET /api/user/current- 获取当前用户详情
- 用户名:admin,密码:admin
- 用户名:test,密码:test
- 用户认证:基于Sa-Token的登录认证
- 权限控制:支持接口级别的权限控制
- 数据分页:基于MyBatis-Plus的分页查询
- 逻辑删除:支持数据的逻辑删除
- 统一返回:统一的API响应格式
- 参数验证:基于Validation的参数校验