基于 Litestar 框架的 Python 后端 API 模板,采用分层架构设计。
- Litestar - 现代 ASGI Web 框架
- SQLAlchemy - 异步 ORM (配合 advanced-alchemy)
- msgspec - 高性能数据验证和序列化
- JWT - 基于 Token 的身份认证
- Uvicorn - ASGI 服务器
pip install litestar uvicorn advanced-alchemy aiosqlite msgspec bcryptpython run.py服务将启动在 http://localhost:8000
| 变量 | 说明 | 默认值 |
|---|---|---|
DEBUG |
调试模式 | false |
HOST |
服务地址 | 0.0.0.0 |
PORT |
服务端口 | 8000 |
DATABASE_URL |
数据库连接 | sqlite+aiosqlite:///./do.db |
JWT_SECRET |
JWT 密钥 | change-me-in-production |
| 方法 | 路径 | 说明 | 认证 |
|---|---|---|---|
| GET | / |
欢迎信息 | ✗ |
| GET | /health |
健康检查 | ✗ |
| POST | /auth/register |
用户注册 | ✗ |
| POST | /auth/login |
用户登录 | ✗ |
| POST | /auth/refresh |
刷新 Token | ✗ |
| GET | /auth/me |
当前用户信息 | ✓ |
| GET | /schema |
OpenAPI 文档 | ✗ |
注册
curl -X POST http://localhost:8000/auth/register \
-H "Content-Type: application/json" \
-d '{"username": "user1", "password": "password123"}'登录
curl -X POST http://localhost:8000/auth/login \
-H "Content-Type: application/json" \
-d '{"username": "user1", "password": "password123"}'获取当前用户
curl http://localhost:8000/auth/me \
-H "Authorization: Bearer <access_token>"app/
├── main.py # 应用入口
├── config.py # 配置
├── controllers/ # 路由处理器
├── services/ # 业务逻辑
├── repositories/ # 数据访问
├── models/ # ORM 模型
├── schemas/ # 请求/响应结构
├── dependencies/ # 依赖注入
├── exceptions/ # 自定义异常
├── middleware/ # 中间件
└── utils/ # 工具函数
MIT