API 网关
统一的 API 入口和路由系统。
🎯 概述
BaaS API Gateway 提供统一的 API 入口点,自动路由请求到相应的模块处理器。
📍 网关端点
主网关
路径: /api/v1/{path}
所有 API 请求通过网关统一处理,支持:
- 认证和授权
- 速率限制
- 请求日志
- 错误处理
示例:
# 通过网关访问实体 API
GET /api/v1/tenant_7375b0cd/projects/tenant_7375b0cd_project_6888d012be80c/entities/users
# 通过网关访问认证 API
POST /api/v1/auth/login
# 通过网关访问文件 API
GET /api/v1/tenant_7375b0cd/media租户 API(兼容)
路径: /api/v1/{tenant_id}/{path}
向后兼容的租户级 API 路由。
🔒 安全特性
速率限制
API 网关自动应用速率限制:
| 用户类型 | 限制 | 时间窗口 |
|---|---|---|
| 已认证用户 | 60 请求 | 60 秒 |
| 匿名用户 | 30 请求 | 60 秒 |
速率限制响应头:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1704067260超限响应:
{
"success": false,
"error": "Rate limit exceeded",
"code": 429,
"retry_after": 60
}认证要求
大多数 API 端点需要认证:
JWT Token:
curl -H "Authorization: Bearer YOUR_JWT_TOKEN" \
http://YOUR_HOST/api/v1/auth/meAPI Key:
curl -H "X-API-Key: YOUR_API_KEY" \
http://YOUR_HOST/api/v1/auth/login📊 健康检查
GET /api/health
检查 API 服务健康状态。
响应:
{
"status": "healthy",
"timestamp": 1704067200,
"version": "1.0.0",
"services": {
"database": "up",
"redis": "up",
"functions": "up"
}
}📖 API 文档
Swagger UI
访问交互式 API 文档:
http://YOUR_HOST/swagger-uiOpenAPI JSON
获取 OpenAPI 规范:
http://YOUR_HOST/openapi.json🔍 错误处理
统一的错误响应格式:
{
"success": false,
"error": "Error message",
"code": "ERROR_CODE",
"details": {}
}常见错误代码:
| HTTP状态 | 错误代码 | 说明 |
|---|---|---|
| 400 | INVALID_REQUEST | 请求参数错误 |
| 401 | UNAUTHORIZED | 未认证 |
| 403 | FORBIDDEN | 权限不足 |
| 404 | NOT_FOUND | 资源不存在 |
| 429 | RATE_LIMIT_EXCEEDED | 请求频率超限 |
| 500 | INTERNAL_ERROR | 服务器错误 |
📖 相关资源
Last updated on