Skip to content

API 约定 ​

地址与响应 ​

核心 API 前缀为 /api/v1。统一响应格式:

json
{ "code": 0, "msg": "success", "data": {} }

业务错误使用 401(登录态无效)、403(权限不足)、404(资源不存在)、409(状态冲突)和 422(参数校验失败)。

认证 ​

需要登录的请求携带:

http
Authorization: Bearer <access_token>

JWT 使用 HS256 算法,access 令牌有效期 24 小时,refresh 令牌 7 天。中间件 jwt_auth 校验令牌签名、有效期和黑名单状态;permission 中间件基于权限标识做 RBAC 鉴权。

改密后 TokenVersion 递增,旧令牌自动失效。

请求与响应示例 ​

登录 ​

http
POST /api/v1/auth/login
Content-Type: application/json

{ "username": "admin", "password": "admin123" }
json
{
  "code": 0,
  "msg": "success",
  "data": {
    "access_token": "<access_token>",
    "refresh_token": "<refresh_token>",
    "expires_in": 86400
  }
}

携带令牌请求 ​

http
GET /api/v1/users?page=1&page_size=20
Authorization: Bearer <access_token>
json
{
  "code": 0,
  "msg": "success",
  "data": {
    "list": [],
    "total": 0,
    "page": 1,
    "page_size": 20
  }
}

权限不足 ​

json
{
  "code": 403,
  "msg": "permission denied",
  "data": null
}

核心接口分组 ​

分组作用
/auth登录、刷新令牌、当前用户信息
/users用户管理
/roles角色和菜单权限
/menus菜单树和动态路由来源
/depts部门和数据范围
/plugins插件发现、热启停、上传和卸载
/mcp工具、资源、提示词和审计
/ai多模型对话和工具调用

Apehub_web 三类接口 ​

Apehub_web 是 ApeAdmin-Gin 的内置插件,API 以 /api/v1/apehub-web 为前缀,按鉴权分为三类:

类型示例鉴权
官网公开接口GET /site/public/plugins、/site/public/docs注册到公开分组,免登录
开发者接口/developer/plugins、/developer/plugins/{id}/versionsjwt_auth 登录即可
后台管理接口/admin/config、/admin/plugins/{id}/versions/{vid}/reviewjwt_auth + permission(apehub_web:* 权限标识)

公开接口只返回已启用、已发布的数据;开发者接口只允许访问自己的插件;后台接口由插件权限标识保护。插件在 Register() 中挂载这些路由到对应的 Gin 分组即可。

编写插件 API ​

插件路由在插件的 Register() 方法中挂载到 Gin RouterGroup。使用 internal/schema 中的 DTO 做请求绑定,通过 internal/pkg/response 统一响应。

注意事项:

  • 不要在公开接口返回密钥、内部文件路径或未发布数据。
  • 文件路径必须经过目录边界校验。
  • 插件接口应使用自己的权限标识(如 my_plugin:*)。
  • MCP 工具需声明 RequiredPermissions,网关会自动做 RBAC 过滤。

AI生成

ApeHub 插件生态