Files
rust-user-api/README.md
enoch 28afc7532f feat: [阶段1] 项目初始化和基础设置
- 创建 Cargo.toml 配置文件,包含所有必要依赖
- 建立完整的项目模块结构(config, models, handlers, routes, services, storage, middleware, utils)
- 实现用户数据模型和内存存储
- 创建基础的 HTTP 处理器和路由配置
- 添加错误处理和 JWT 认证中间件
- 配置环境变量和日志系统
- 创建项目文档和学习指南
- 服务器可以成功编译和启动
2025-08-04 16:49:50 +08:00

138 lines
2.6 KiB
Markdown
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.

# Rust User API
一个使用 Rust 和 Axum 框架构建的 REST API 服务器,用于用户管理系统的学习和演示。
## 功能特性
- ✅ 用户 CRUD 操作(创建、读取、更新、删除)
- ✅ 内存存储HashMap
- ✅ 请求验证和错误处理
- ✅ JWT 身份认证
- ✅ 结构化日志记录
- 🔄 SQLite 数据库集成(计划中)
- 🔄 API 文档和测试(计划中)
## 技术栈
- **Web 框架**: Axum 0.7
- **异步运行时**: Tokio
- **序列化**: Serde
- **身份认证**: JWT (jsonwebtoken)
- **验证**: Validator
- **日志**: Tracing
## 快速开始
### 1. 克隆项目
```bash
git clone <repository-url>
cd rust-user-api
```
### 2. 配置环境
```bash
cp .env.example .env
# 编辑 .env 文件,修改配置参数
```
### 3. 运行项目
```bash
cargo run
```
服务器将在 `http://127.0.0.1:3000` 启动。
## API 端点
### 基础端点
- `GET /` - 欢迎信息
- `GET /health` - 健康检查
### 用户管理
- `GET /api/users` - 获取所有用户
- `GET /api/users/{id}` - 获取特定用户
- `POST /api/users` - 创建新用户
- `PUT /api/users/{id}` - 更新用户信息
- `DELETE /api/users/{id}` - 删除用户
### 请求示例
#### 创建用户
```bash
curl -X POST http://localhost:3000/api/users \
-H "Content-Type: application/json" \
-d '{
"username": "testuser",
"email": "test@example.com",
"password": "password123"
}'
```
#### 获取所有用户
```bash
curl http://localhost:3000/api/users
```
## 项目结构
```
src/
├── main.rs # 应用入口点
├── lib.rs # 库入口
├── config/ # 配置管理
├── models/ # 数据模型
├── handlers/ # HTTP 处理器
├── routes/ # 路由配置
├── services/ # 业务逻辑
├── storage/ # 数据存储
├── middleware/ # 中间件
└── utils/ # 工具函数
```
## 开发
### 运行测试
```bash
cargo test
```
### 检查代码
```bash
cargo clippy
```
### 格式化代码
```bash
cargo fmt
```
## 学习路径
这个项目按照以下阶段设计,适合渐进式学习:
1. **基础搭建** - 项目初始化和 HTTP 服务器
2. **数据模型** - 用户模型和内存存储
3. **CRUD 操作** - 完整的用户管理 API
4. **错误处理** - 统一的错误处理机制
5. **身份认证** - JWT 认证系统
6. **测试文档** - 测试用例和 API 文档
7. **数据库集成** - SQLite 数据库支持
8. **高级功能** - 分页、搜索、过滤等
## 贡献
欢迎提交 Issue 和 Pull Request
## 许可证
MIT License