新增: - API_DOCS_INDEX.md - 完整的文档导航指南 功能: ✅ 文档总览表格 ✅ 按场景推荐文档 ✅ 详细的文档说明 ✅ 新手/开发者/决策者路径 ✅ 问题排查指引 ✅ 相关资源链接 帮助用户快速找到需要的文档! 🔧 Generated with Claude Code
430 lines
9.3 KiB
Markdown
430 lines
9.3 KiB
Markdown
# IOPaint API 文档导航
|
||
|
||
本项目提供完整的 API 文档,适用于不同场景和需求。
|
||
|
||
## 📚 文档总览
|
||
|
||
| 文档 | 用途 | 适合人群 |
|
||
|------|------|---------|
|
||
| [API_SERVICE_README.md](./API_SERVICE_README.md) | 快速开始指南 | 所有用户 ⭐ |
|
||
| [RESTFUL_API_DOCUMENTATION.md](./RESTFUL_API_DOCUMENTATION.md) | 完整 REST API 文档 | 开发者 ⭐⭐⭐ |
|
||
| [API_CLIENT_EXAMPLES.md](./API_CLIENT_EXAMPLES.md) | 多语言客户端示例 | 集成开发者 ⭐⭐ |
|
||
| [API_SERVICE_GUIDE.md](./API_SERVICE_GUIDE.md) | 商业化部署方案 | 架构师/CTO ⭐⭐⭐ |
|
||
| [openapi.yaml](./openapi.yaml) | OpenAPI 规范 | 工具/自动化 ⭐⭐ |
|
||
| [IOPaint_API.postman_collection.json](./IOPaint_API.postman_collection.json) | Postman 集合 | API 测试 ⭐⭐ |
|
||
|
||
---
|
||
|
||
## 🎯 按场景选择文档
|
||
|
||
### 场景 1: 我想快速开始使用 API
|
||
|
||
**推荐文档**: [API_SERVICE_README.md](./API_SERVICE_README.md)
|
||
|
||
**内容包括**:
|
||
- 3 步启动服务
|
||
- API 使用示例
|
||
- 常见问题解决
|
||
|
||
**快速开始**:
|
||
```bash
|
||
# 1. 设置 API 密钥
|
||
export API_KEY="your_secret_key"
|
||
|
||
# 2. 启动服务
|
||
docker-compose -f docker-compose.mvp.yml up -d
|
||
|
||
# 3. 测试 API
|
||
curl -X POST http://localhost:8080/api/v1/remove-watermark \
|
||
-H "X-API-Key: $API_KEY" \
|
||
-F "image=@test.jpg" \
|
||
-o result.png
|
||
```
|
||
|
||
---
|
||
|
||
### 场景 2: 我需要集成 API 到我的应用
|
||
|
||
**推荐文档**:
|
||
1. [RESTFUL_API_DOCUMENTATION.md](./RESTFUL_API_DOCUMENTATION.md) - 完整 API 参考
|
||
2. [API_CLIENT_EXAMPLES.md](./API_CLIENT_EXAMPLES.md) - 代码示例
|
||
|
||
**支持的语言**:
|
||
- ✅ Python
|
||
- ✅ JavaScript/Node.js
|
||
- ✅ PHP
|
||
- ✅ Go
|
||
- ✅ Java
|
||
- ✅ cURL/Bash
|
||
|
||
**关键内容**:
|
||
- 认证方式
|
||
- 所有 API 端点
|
||
- 请求/响应格式
|
||
- 错误处理
|
||
- 限流规则
|
||
- 完整代码示例
|
||
|
||
---
|
||
|
||
### 场景 3: 我想测试 API
|
||
|
||
**推荐工具**:
|
||
1. [Postman Collection](./IOPaint_API.postman_collection.json) - 一键导入测试
|
||
2. Swagger UI - 在线交互式文档
|
||
|
||
**Postman 使用**:
|
||
1. 打开 Postman
|
||
2. Import → 选择 `IOPaint_API.postman_collection.json`
|
||
3. 设置环境变量 `api_key`
|
||
4. 发送请求测试
|
||
|
||
**Swagger UI 使用**:
|
||
```bash
|
||
# 启动服务后访问
|
||
http://localhost:8080/docs
|
||
```
|
||
|
||
---
|
||
|
||
### 场景 4: 我要自动生成客户端代码
|
||
|
||
**推荐文档**: [openapi.yaml](./openapi.yaml)
|
||
|
||
**支持的工具**:
|
||
- OpenAPI Generator
|
||
- Swagger Codegen
|
||
- Postman (导入 OpenAPI)
|
||
|
||
**示例**:
|
||
```bash
|
||
# 使用 OpenAPI Generator 生成 Python 客户端
|
||
openapi-generator-cli generate \
|
||
-i openapi.yaml \
|
||
-g python \
|
||
-o ./python-client
|
||
|
||
# 生成 JavaScript 客户端
|
||
openapi-generator-cli generate \
|
||
-i openapi.yaml \
|
||
-g javascript \
|
||
-o ./js-client
|
||
```
|
||
|
||
---
|
||
|
||
### 场景 5: 我要规划商业化部署
|
||
|
||
**推荐文档**: [API_SERVICE_GUIDE.md](./API_SERVICE_GUIDE.md)
|
||
|
||
**内容包括**:
|
||
- MVP 最小可行产品方案
|
||
- 商业化架构设计(单机 → K8s)
|
||
- 成本分析和收益模型
|
||
- 实施路线图
|
||
- 部署方案对比
|
||
|
||
**关键决策参考**:
|
||
|
||
| 月处理量 | 推荐方案 | 成本/月 |
|
||
|---------|---------|---------|
|
||
| < 10万张 | Docker 单机 | ¥300-500 |
|
||
| 10-50万张 | Docker Compose | ¥1000-3000 |
|
||
| 50万+张 | Kubernetes | ¥5000-20000 |
|
||
|
||
---
|
||
|
||
## 📖 文档详细说明
|
||
|
||
### 1. API_SERVICE_README.md
|
||
|
||
**快速开始指南** - 10分钟上手
|
||
|
||
```
|
||
内容:
|
||
✓ 快速部署(3步)
|
||
✓ API 基础使用
|
||
✓ 配置说明
|
||
✓ 性能基准
|
||
✓ 故障排查
|
||
✓ 实施路线图
|
||
|
||
适合:
|
||
• 第一次使用的用户
|
||
• 需要快速验证的团队
|
||
• POC 阶段
|
||
```
|
||
|
||
---
|
||
|
||
### 2. RESTFUL_API_DOCUMENTATION.md
|
||
|
||
**完整 REST API 文档** - OpenAI 风格专业文档
|
||
|
||
```
|
||
内容:
|
||
✓ 所有 API 端点详细说明
|
||
✓ 认证和安全
|
||
✓ 请求/响应示例
|
||
✓ 错误代码和处理
|
||
✓ 限流规则
|
||
✓ 最佳实践
|
||
✓ 性能优化建议
|
||
✓ 多语言代码示例
|
||
|
||
适合:
|
||
• API 集成开发者
|
||
• 需要完整技术参考
|
||
• 生产环境部署
|
||
```
|
||
|
||
**章节导航**:
|
||
- [Introduction](#introduction) - API 介绍
|
||
- [Authentication](#authentication) - 认证方式
|
||
- [API Endpoints](#api-endpoints) - 所有端点
|
||
- [Error Handling](#error-handling) - 错误处理
|
||
- [Rate Limiting](#rate-limiting) - 限流规则
|
||
- [Best Practices](#best-practices) - 最佳实践
|
||
|
||
---
|
||
|
||
### 3. API_CLIENT_EXAMPLES.md
|
||
|
||
**多语言客户端示例** - 复制粘贴即可用
|
||
|
||
```
|
||
内容:
|
||
✓ Python(基础 + 高级)
|
||
✓ JavaScript/Node.js
|
||
✓ PHP
|
||
✓ Go
|
||
✓ Java
|
||
✓ cURL + Bash 脚本
|
||
✓ 完整客户端类实现
|
||
✓ 批量处理示例
|
||
✓ 错误处理和重试
|
||
|
||
适合:
|
||
• 需要快速集成的开发者
|
||
• 学习如何调用 API
|
||
• 参考最佳实践
|
||
```
|
||
|
||
**每种语言包含**:
|
||
- 基础示例(最简单用法)
|
||
- 高级示例(错误处理、重试、批量)
|
||
- 完整客户端类
|
||
- 生产级代码
|
||
|
||
---
|
||
|
||
### 4. API_SERVICE_GUIDE.md
|
||
|
||
**商业化部署完整方案** - MVP 到规模化
|
||
|
||
```
|
||
内容:
|
||
✓ MVP 最小可行产品设计
|
||
✓ 商业化架构(单机→K8s)
|
||
✓ 成本分析(详细预算)
|
||
✓ 收益模型(定价建议)
|
||
✓ 部署方案对比
|
||
✓ 实施路线图
|
||
✓ 技术栈选择
|
||
✓ 监控和告警
|
||
|
||
适合:
|
||
• 创业者/产品经理
|
||
• 技术负责人
|
||
• 架构师
|
||
• CTO
|
||
```
|
||
|
||
**核心章节**:
|
||
- MVP 阶段(1-2个月)
|
||
- 产品优化(2-4个月)
|
||
- 规模化(4-6个月)
|
||
- Docker vs Kubernetes 对比
|
||
- 成本与扩展性分析
|
||
|
||
---
|
||
|
||
### 5. openapi.yaml
|
||
|
||
**OpenAPI 3.0.3 规范** - 机器可读的 API 定义
|
||
|
||
```
|
||
用途:
|
||
✓ Swagger UI 自动渲染
|
||
✓ Redoc 文档生成
|
||
✓ 客户端代码生成
|
||
✓ API 测试工具
|
||
✓ Mock 服务器
|
||
|
||
工具支持:
|
||
• Swagger UI
|
||
• Redoc
|
||
• Postman
|
||
• Insomnia
|
||
• OpenAPI Generator
|
||
• Swagger Codegen
|
||
```
|
||
|
||
**在线查看**:
|
||
```bash
|
||
# 启动服务后访问
|
||
http://localhost:8080/docs # Swagger UI
|
||
http://localhost:8080/redoc # ReDoc
|
||
```
|
||
|
||
**验证规范**:
|
||
```bash
|
||
# 安装 OpenAPI 验证工具
|
||
npm install -g @apidevtools/swagger-cli
|
||
|
||
# 验证文件
|
||
swagger-cli validate openapi.yaml
|
||
```
|
||
|
||
---
|
||
|
||
### 6. IOPaint_API.postman_collection.json
|
||
|
||
**Postman Collection V2.1** - API 测试集合
|
||
|
||
```
|
||
包含:
|
||
✓ 所有 API 端点
|
||
✓ 预配置的测试脚本
|
||
✓ 环境变量模板
|
||
✓ 示例请求/响应
|
||
✓ 自动化测试
|
||
|
||
功能:
|
||
• 一键导入
|
||
• 快速测试
|
||
• 自动化测试
|
||
• 团队分享
|
||
```
|
||
|
||
**导入步骤**:
|
||
1. 打开 Postman
|
||
2. File → Import
|
||
3. 选择 `IOPaint_API.postman_collection.json`
|
||
4. 设置变量:
|
||
- `base_url`: `http://localhost:8080`
|
||
- `api_key`: `your_secret_key_change_me`
|
||
5. 开始测试
|
||
|
||
---
|
||
|
||
## 🔗 相关资源
|
||
|
||
### 在线资源
|
||
|
||
- **项目仓库**: https://github.com/let5sne/IOPaint
|
||
- **API 分支**: https://github.com/let5sne/IOPaint/tree/feature/api-service
|
||
- **在线文档**: http://localhost:8080/docs (需先启动服务)
|
||
|
||
### 开发工具
|
||
|
||
| 工具 | 用途 | 链接 |
|
||
|------|------|------|
|
||
| Postman | API 测试 | https://www.postman.com/ |
|
||
| Swagger UI | API 文档 | https://swagger.io/tools/swagger-ui/ |
|
||
| Redoc | API 文档 | https://github.com/Redocly/redoc |
|
||
| OpenAPI Generator | 代码生成 | https://openapi-generator.tech/ |
|
||
|
||
### 推荐阅读
|
||
|
||
- [RESTful API 设计指南](https://github.com/microsoft/api-guidelines)
|
||
- [OpenAPI 规范](https://swagger.io/specification/)
|
||
- [FastAPI 文档](https://fastapi.tiangolo.com/)
|
||
- [Docker 最佳实践](https://docs.docker.com/develop/dev-best-practices/)
|
||
|
||
---
|
||
|
||
## 💡 使用建议
|
||
|
||
### 新手路径
|
||
|
||
```
|
||
1. 阅读 API_SERVICE_README.md(了解基础)
|
||
↓
|
||
2. 启动服务并访问 /docs(在线测试)
|
||
↓
|
||
3. 导入 Postman Collection(实际测试)
|
||
↓
|
||
4. 参考 API_CLIENT_EXAMPLES.md(集成到应用)
|
||
```
|
||
|
||
### 开发者路径
|
||
|
||
```
|
||
1. 阅读 RESTFUL_API_DOCUMENTATION.md(理解 API)
|
||
↓
|
||
2. 使用 openapi.yaml 生成客户端代码
|
||
↓
|
||
3. 参考 Best Practices 优化集成
|
||
↓
|
||
4. 阅读 API_SERVICE_GUIDE.md(了解架构)
|
||
```
|
||
|
||
### 决策者路径
|
||
|
||
```
|
||
1. 阅读 API_SERVICE_GUIDE.md(了解方案)
|
||
↓
|
||
2. 评估成本和收益模型
|
||
↓
|
||
3. 选择合适的部署方案
|
||
↓
|
||
4. 制定实施路线图
|
||
```
|
||
|
||
---
|
||
|
||
## 📞 获取帮助
|
||
|
||
### 问题排查
|
||
|
||
1. **API 无法访问** → 查看 [API_SERVICE_README.md - 故障排查](./API_SERVICE_README.md#故障排查)
|
||
2. **认证失败** → 查看 [RESTFUL_API_DOCUMENTATION.md - Authentication](./RESTFUL_API_DOCUMENTATION.md#authentication)
|
||
3. **性能问题** → 查看 [RESTFUL_API_DOCUMENTATION.md - Best Practices](./RESTFUL_API_DOCUMENTATION.md#best-practices)
|
||
4. **部署问题** → 查看 [API_SERVICE_GUIDE.md - 部署方案](./API_SERVICE_GUIDE.md#部署方案对比)
|
||
|
||
### 联系方式
|
||
|
||
- **GitHub Issues**: https://github.com/let5sne/IOPaint/issues
|
||
- **文档反馈**: 在对应文档提 Issue
|
||
|
||
---
|
||
|
||
## 📝 文档更新日志
|
||
|
||
### 2025-11-28
|
||
|
||
**新增**:
|
||
- ✨ API_SERVICE_README.md - 快速开始指南
|
||
- ✨ RESTFUL_API_DOCUMENTATION.md - 完整 REST API 文档
|
||
- ✨ API_CLIENT_EXAMPLES.md - 多语言客户端示例
|
||
- ✨ API_SERVICE_GUIDE.md - 商业化部署方案
|
||
- ✨ openapi.yaml - OpenAPI 3.0.3 规范
|
||
- ✨ IOPaint_API.postman_collection.json - Postman 测试集合
|
||
- ✨ API_DOCS_INDEX.md - 文档导航(本文档)
|
||
|
||
**特点**:
|
||
- 符合 OpenAPI 标准
|
||
- OpenAI 风格专业文档
|
||
- 多语言代码示例
|
||
- 完整的部署方案
|
||
- 生产级最佳实践
|
||
|
||
---
|
||
|
||
**快速开始**: 阅读 [API_SERVICE_README.md](./API_SERVICE_README.md) 👈
|
||
|
||
**完整 API 参考**: 阅读 [RESTFUL_API_DOCUMENTATION.md](./RESTFUL_API_DOCUMENTATION.md) 👈
|
||
|
||
**商业化方案**: 阅读 [API_SERVICE_GUIDE.md](./API_SERVICE_GUIDE.md) 👈
|