enoch bb9d7a869d
Some checks failed
Deploy to Production / Run Tests (push) Failing after 16m35s
Deploy to Production / Security Scan (push) Has been skipped
Deploy to Production / Build Docker Image (push) Has been skipped
Deploy to Production / Deploy to Staging (push) Has been skipped
Deploy to Production / Deploy to Production (push) Has been skipped
Deploy to Production / Notify Results (push) Successful in 31s
feat: 完成Rust User API完整开发
 新功能:
- SQLite数据库集成和持久化存储
- 数据库迁移系统和版本管理
- API分页功能和高效查询
- 用户搜索和过滤机制
- 完整的RBAC角色权限系统
- 结构化日志记录和系统监控
- API限流和多层安全防护
- Docker容器化和生产部署配置

🔒 安全特性:
- JWT认证和授权
- 限流和防暴力破解
- 安全头和CORS配置
- 输入验证和XSS防护
- 审计日志和安全监控

📊 监控和运维:
- Prometheus指标收集
- 健康检查和系统监控
- 自动化备份和恢复
- 完整的运维文档和脚本
- CI/CD流水线配置

🚀 部署支持:
- 多环境Docker配置
- 生产环境部署指南
- 性能优化和安全加固
- 故障排除和应急响应
- 自动化运维脚本

📚 文档完善:
- API使用文档
- 部署检查清单
- 运维操作手册
- 性能和安全指南
- 故障排除指南
2025-08-07 16:03:32 +08:00
2025-08-07 16:03:32 +08:00

Rust User API

一个使用 Rust 和 Axum 框架构建的 REST API 服务器,用于用户管理系统的学习和演示。

功能特性

  • 用户 CRUD 操作(创建、读取、更新、删除)
  • 内存存储HashMap
  • 请求验证和错误处理
  • JWT 身份认证
  • 结构化日志记录
  • 🔄 SQLite 数据库集成(计划中)
  • 🔄 API 文档和测试(计划中)

技术栈

  • Web 框架: Axum 0.7
  • 异步运行时: Tokio
  • 序列化: Serde
  • 身份认证: JWT (jsonwebtoken)
  • 验证: Validator
  • 日志: Tracing

快速开始

1. 克隆项目

git clone <repository-url>
cd rust-user-api

2. 配置环境

cp .env.example .env
# 编辑 .env 文件,修改配置参数

3. 运行项目

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} - 删除用户

请求示例

创建用户

curl -X POST http://localhost:3000/api/users \
  -H "Content-Type: application/json" \
  -d '{
    "username": "testuser",
    "email": "test@example.com",
    "password": "password123"
  }'

获取所有用户

curl http://localhost:3000/api/users

项目结构

src/
├── main.rs              # 应用入口点
├── lib.rs               # 库入口
├── config/              # 配置管理
├── models/              # 数据模型
├── handlers/            # HTTP 处理器
├── routes/              # 路由配置
├── services/            # 业务逻辑
├── storage/             # 数据存储
├── middleware/          # 中间件
└── utils/               # 工具函数

开发

运行测试

cargo test

检查代码

cargo clippy

格式化代码

cargo fmt

学习路径

这个项目按照以下阶段设计,适合渐进式学习:

  1. 基础搭建 - 项目初始化和 HTTP 服务器
  2. 数据模型 - 用户模型和内存存储
  3. CRUD 操作 - 完整的用户管理 API
  4. 错误处理 - 统一的错误处理机制
  5. 身份认证 - JWT 认证系统
  6. 测试文档 - 测试用例和 API 文档
  7. 数据库集成 - SQLite 数据库支持
  8. 高级功能 - 分页、搜索、过滤等

贡献

欢迎提交 Issue 和 Pull Request

许可证

MIT License

Description
一个使用 Rust 和 Axum 框架构建的 REST API 服务器项目,基于 AI 完成,支持用户管理,用于 rust 语言学习
Readme 188 KiB
Languages
Rust 94.2%
Shell 5.2%
Dockerfile 0.6%