GrantForgeDocs

    技术文档

    错误码

    所有稳定的错误码、HTTP 状态与中文含义,由源代码生成。

    所有错误响应都是 RFC 9457 problem details:

    {
      "type": "about:blank",
      "title": "Forbidden",
      "status": 403,
      "detail": "你没有执行此操作的权限",
      "code": "GF-SECURITY-002",
      "requestId": "0f6c1a…"
    }

    code 是稳定的,可以在程序里判断;detail 按请求的 Accept-Language 本地化,只用于显示。校验错误还带有 errors 数组,指出具体字段。下表由源代码中的错误码枚举在构建文档时生成。

    authz

    错误码 HTTP 含义
    GF-AUTHZ-001 409 应用编码“{0}”已被使用。
    GF-AUTHZ-002 409 GrantForge 内置的应用不能删除。
    GF-AUTHZ-003 409 请先删除该应用下的资源。
    GF-AUTHZ-010 409 资源编码“{0}”在该应用中已被使用。
    GF-AUTHZ-011 409 该类型的资源不能放在这里:按钮和标签页属于页面,字段属于数据实体。
    GF-AUTHZ-012 409 资源不能移动到自身或其下级之下。
    GF-AUTHZ-013 409 资源最多嵌套 {0} 层。
    GF-AUTHZ-014 409 请先删除或移走它下面的资源。
    GF-AUTHZ-015 409 GrantForge 内置的资源不能删除,也不能修改编码。
    GF-AUTHZ-016 409 有 {0} 个其他资源依赖它,请先移除这些依赖。
    GF-AUTHZ-017 409 该资源仍被角色授权 {0} 次,请先撤销这些授权。
    GF-AUTHZ-020 409 这两个资源之间不能建立依赖:菜单、页面、标签页和按钮只能依赖同一应用中的接口、页面、标签页或按钮。
    GF-AUTHZ-021 409 这条依赖会形成循环:对方已经(间接)依赖当前资源。
    GF-AUTHZ-022 409 已经存在这条依赖。
    GF-AUTHZ-023 409 GrantForge 内置声明的依赖不能手工移除。
    GF-AUTHZ-030 409 角色编码“{0}”已被使用。
    GF-AUTHZ-031 409 系统角色不能修改、停用或删除;如需调整,请复制后修改副本。
    GF-AUTHZ-032 409 已经拥有该角色。
    GF-AUTHZ-033 400 有效期的结束时间必须晚于开始时间。
    GF-AUTHZ-034 403 你不能分配这个角色。
    GF-AUTHZ-035 409 系统账号的系统角色不能移除。
    GF-AUTHZ-036 403 该角色包含你自己没有的权限,你不能分配它。
    GF-AUTHZ-037 409 继承“{0}”会形成循环继承。
    GF-AUTHZ-040 409 这类资源不能直接授权;模块会根据其下已授权的资源自动可见。
    GF-AUTHZ-041 403 平台资源只能在平台租户中授权。
    GF-AUTHZ-042 403 你只能授予自己拥有的权限,你没有“{0}”。
    GF-AUTHZ-050 400 数据策略的部分内容不正确。
    GF-AUTHZ-051 400 字段策略的部分内容不正确。
    GF-AUTHZ-052 400 应用声明的部分数据实体不正确。
    GF-AUTHZ-060 400 客户端的部分设置不正确。
    GF-AUTHZ-070 400 职责分离约束无效:{0}
    GF-AUTHZ-071 409 编码 {0} 已被其他职责分离约束使用。
    GF-AUTHZ-072 409 此操作会使 {0} 同时拥有角色 {1},违反职责分离约束“{2}”。
    GF-AUTHZ-080 400 该角色不可申请。
    GF-AUTHZ-081 409 你已拥有角色 {0}。
    GF-AUTHZ-082 409 你已申请角色 {0},请等待审批结果。
    GF-AUTHZ-083 400 申请无效:{0}
    GF-AUTHZ-084 409 该申请已处理({0})。
    GF-AUTHZ-085 403 不能审批自己的申请。
    GF-AUTHZ-090 400 权限复核无效:{0}
    GF-AUTHZ-091 409 该复核已有进行中的一轮。
    GF-AUTHZ-092 409 该轮复核已结束({0})。
    GF-AUTHZ-093 403 不能复核自己的权限:你通过 {0} 获得该角色。

    common

    错误码 HTTP 含义
    GF-COMMON-400 400 请求参数不正确。
    GF-COMMON-401 401 请先登录。
    GF-COMMON-403 403 你没有执行此操作的权限。
    GF-COMMON-404 404 请求的资源不存在。
    GF-COMMON-405 405 该资源不支持此操作。
    GF-COMMON-409 409 请求与当前数据状态冲突,请刷新后重试。
    GF-COMMON-415 415 不支持该请求格式。
    GF-COMMON-500 500 服务发生意外错误,反馈问题时请提供请求编号。

    persistence

    错误码 HTTP 含义
    GF-FIELD-001 403 无权修改其中的部分字段。

    identity

    错误码 HTTP 含义
    GF-IDENTITY-001 409 系统已完成初始化。
    GF-IDENTITY-002 403 初始化令牌无效,请使用服务端最近一次日志中输出的令牌。
    GF-IDENTITY-010 400 密码长度不能少于 {0} 个字符。
    GF-IDENTITY-011 400 密码长度不能超过 {0} 个字符。
    GF-IDENTITY-012 400 密码不能包含用户名。
    GF-IDENTITY-013 400 密码需至少包含小写字母、大写字母、数字、其他字符中的 {0} 类。
    GF-IDENTITY-014 400 新密码不能与最近 {0} 次使用过的密码相同。
    GF-IDENTITY-015 400 当前密码不正确。
    GF-IDENTITY-016 403 请先修改密码后再继续操作。
    GF-IDENTITY-020 401 用户名或密码错误。
    GF-IDENTITY-021 401 登录失败次数过多,账号已被临时锁定,请稍后再试。
    GF-IDENTITY-022 401 账号已被禁用,请联系管理员。
    GF-IDENTITY-023 401 所属组织已被停用,请联系管理员。
    GF-IDENTITY-024 401 账号已被管理员锁定,请联系管理员。
    GF-IDENTITY-030 409 租户编码“{0}”已被使用。
    GF-IDENTITY-031 409 用户名“{0}”已被使用。
    GF-IDENTITY-032 409 平台租户不能停用。
    GF-IDENTITY-040 409 部门编码“{0}”已被使用。
    GF-IDENTITY-041 409 部门不能移动到自身或其下级部门之下。
    GF-IDENTITY-042 409 部门层级最多 {0} 层。
    GF-IDENTITY-043 409 请先移走或删除其下级部门。
    GF-IDENTITY-044 409 请先将该部门的成员调整到其他部门。
    GF-IDENTITY-050 409 系统账号和你自己的账号不能被禁用、锁定或删除。
    GF-IDENTITY-060 403 暂不开放注册,请联系管理员为你创建账号。
    GF-IDENTITY-070 409 用户组编码“{0}”已被使用。
    GF-IDENTITY-080 409 岗位编码“{0}”已被使用。
    GF-IDENTITY-090 400 文件不是有效的 CSV(第 {0} 行附近)。
    GF-IDENTITY-091 400 文件缺少必需的列“{0}”。
    GF-IDENTITY-092 400 一次最多导入 {0} 行。
    GF-IDENTITY-093 400 文件中没有数据行。
    GF-IDENTITY-094 400 “{0}”在文件中重复出现。
    GF-IDENTITY-095 400 找不到部门“{0}”。
    GF-IDENTITY-096 400 找不到岗位“{0}”。
    GF-IDENTITY-097 400 “{0}”列的值无效。
    GF-IDENTITY-098 400 “{0}”列不能为空。
    GF-IDENTITY-100 400 验证码错误、已过期或已使用。
    GF-IDENTITY-101 409 两步验证已开启。如需更换验证器,请先关闭。
    GF-IDENTITY-102 409 请先设置验证器。
    GF-IDENTITY-103 409 该账号未开启两步验证。
    GF-IDENTITY-104 401 登录超时,请重新输入用户名和密码。
    GF-IDENTITY-105 401 请输入验证器应用中的验证码以完成登录。
    GF-IDENTITY-110 409 编码 {0} 已被其他身份源使用。
    GF-IDENTITY-111 400 身份源配置无效:{0}
    GF-IDENTITY-112 422 无法连接身份源,或身份源拒绝了配置的凭据:{0}
    GF-IDENTITY-113 409 有 {0} 个账号通过该身份源登录,请改为停用。
    GF-IDENTITY-114 409 只有 LDAP 目录可以同步。
    GF-IDENTITY-115 409 该账号通过身份源登录,请在身份源中修改密码。
    GF-IDENTITY-116 409 本地已存在名为 {0} 的账号,需管理员先改名或删除。
    GF-IDENTITY-117 403 你在这里还没有账号,请联系管理员开通。
    GF-IDENTITY-118 401 通过身份提供方登录失败:{0}

    server

    错误码 HTTP 含义
    GF-SECURITY-001 403 页面已过期,请刷新后重试。
    GF-SECURITY-002 403 你没有执行此操作的权限。
    GF-SECURITY-003 403 该接口回答的是已登录用户的权限,请使用为用户签发的令牌。
    GF-SECURITY-004 403 令牌缺少此接口所需的范围(scope)。
    GF-SECURITY-005 403 该接口只接受客户端以自身身份获取的令牌。
    GF-SECURITY-006 403 请输入验证器应用中的验证码以确认此操作。
    GF-SECURITY-007 403 请先在账号设置中开启两步验证,再执行此操作。

    service

    错误码 HTTP 含义
    GF-SERVICE-001 409 已有名为“{0}”的服务。
    GF-SERVICE-002 409 没有运行中的插件提供服务类型“{0}”。
    GF-SERVICE-003 400 部分配置不正确。
    GF-SERVICE-004 400 “{0}”不支持查找。
    GF-SERVICE-005 502 插件出错或没有在规定时间内响应。
    GF-SERVICE-006 400 策略的部分内容不正确。
    GF-SERVICE-007 409 该服务已有名为“{0}”的策略。

    在 GitHub 上编辑此页