Skip to content

API 参考

Zen Platform 提供 RESTful JSON API,自动根据 Model DSL 生成端点。

Base URL

  • 开发:http://localhost:3100/api/v1
  • 生产:配置 API_BASE_URL 环境变量

认证

所有 API 端点(除元数据和公开资源)需要认证。

支持方式:

方式文档
JWT认证方式
API Key认证方式
Bearer Token认证方式
Signature认证方式

认证解决"你是谁"的问题,权限控制解决"你能做什么"的问题。详见 权限控制

字段过滤

脚手架生成的 API 默认返回所有字段。生产环境必须限制返回字段,排除敏感信息。详见 字段过滤

通用响应格式

成功

json
{
  "code": 0,
  "message": "成功",
  "data": { "id": 1, "title": "..." }
}

错误

json
{
  "code": 1,
  "message": "错误信息"
}

内置端点

方法路径说明认证
GET/api/v1/health健康检查
POST/api/v1/auth/loginJWT 登录
GET/api/v1/auth/me当前用户JWT
GET/api/v1/meta/:model模型元数据JWT/API Key
GET/api/v1/users用户列表API Key/JWT
GET/api/v1/users/:id用户详情API Key/JWT
GET/api/v1/api_keysAPI Key 列表(当前用户)JWT
POST/api/v1/api_keys创建 API Key(当前用户)JWT
DELETE/api/v1/api_keys/:id删除 API Key(当前用户)JWT

分页

脚手架生成的 API 控制器默认不分页。如需分页,参考 Admin 生成器 中的 Pagy + Ransack 集成方案。

Admin 后台 API 支持 pageper_page 参数:

bash
GET /admin/users?page=2&per_page=20

状态码

状态码说明
200成功
400请求错误
401未认证
404资源不存在
429限流

限流

端点限制
全局 API60 次/分钟
API Key 认证300 次/分钟
登录端点5 次/20 秒

超限返回 429,响应头包含 X-RateLimit-*Retry-After 信息。

Swagger 文档

访问 /api-docs 查看完整的 OpenAPI 文档。