Skip to Content
🚀 Drubase One v1.1 - 基于 Drupal 11 的多租户后端即服务平台
DocsAPI 参考API 网关

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/me

API 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-ui

OpenAPI JSON

获取 OpenAPI 规范:

http://YOUR_HOST/openapi.json

🔍 错误处理

统一的错误响应格式:

{ "success": false, "error": "Error message", "code": "ERROR_CODE", "details": {} }

常见错误代码:

HTTP状态错误代码说明
400INVALID_REQUEST请求参数错误
401UNAUTHORIZED未认证
403FORBIDDEN权限不足
404NOT_FOUND资源不存在
429RATE_LIMIT_EXCEEDED请求频率超限
500INTERNAL_ERROR服务器错误

📖 相关资源

Last updated on