用途:面向 Frappe/ERPNext v14/v15/v16 的 API 错误排查与处理,减少 REST 端点中的静默失败和错误 HTTP 状态码。
主要能力:提供 HTTP 状态码与 Frappe 异常映射,如 401 AuthenticationError、403 PermissionError、404 DoesNotExistError、409 DuplicateEntryError、417 ValidationError、429 RateLimitExceededError、500 未处理异常、503 服务不可用。覆盖鉴权两种格式区分(Authorization: token api_key:api_secret 与 Authorization: Bearer access_token)、OAuth 令牌刷新、缺失 @frappe.whitelist() 或 allow_guest 导致 403、URL 路径写法与 Doctype 名编码、frappe.throw() 指定异常类以返回正确状态码、会话鉴权的 X-Frappe-CSRF-Token、CORS 的 allow_cors 配置、429 的 Retry-After 处理、文件上传、JSON 解析、Webhook 投递、长任务改用后台作业、服务端与客户端错误处理模式。
使用方式:资料给出的是按规则排查与编写代码的建议,未提供独立安装或 CLI 命令;相关示例包括 @frappe.whitelist()、frappe.throw(..., exc=frappe.DoesNotExistError)、frappe.enqueue(...)、requests.post(..., timeout=30) 与 frappe.call 的 error 回调等。
适用场景:Frappe/ERPNext 应用开发者在调试或编写 REST API、集成外部系统时使用。
限制:具体版本行为、配置项默认值与文件大小上限等以实际部署为准;错误码与异常映射为资料所述,未提供独立验证。关联技能有 frappe-core-api、frappe-errors-permissions、frappe-syntax-whitelisted、frappe-errors-serverscripts。