enoch efa20279b6 feat: [阶段2] 创建基本的 HTTP server 和路由结构
- 服务器成功启动并监听 3000 端口
- 实现根路径和健康检查端点
- 创建完整的用户 API 路由结构
- 添加 API 测试脚本
- 服务器可以正常响应 HTTP 请求
- 为后续 CRUD 操作奠定基础
2025-08-04 16:52:08 +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%