JSON-RPC 2.0 协议的 ZF 实现只允许错误码:
const ERROR_PARSE = -32768;
const ERROR_INVALID_REQUEST = -32600;
const ERROR_INVALID_METHOD = -32601;
const ERROR_INVALID_PARAMS = -32602;
const ERROR_INTERNAL = -32603;
const ERROR_OTHER = -32000;
加,范围(-32099,-32000)
这些在 JSON-RPC 规范中定义为预定义和/或保留。至少这是超出规范的内容:
从 -32768 到 -32000 的错误代码保留用于预定义的错误。此范围内但未在下面明确定义的任何代码均保留供将来使用。错误代码与以下 URL 中针对 XML-RPC 建议的错误代码几乎相同:http: //xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php
代码消息含义 -32700 解析错误 服务器接收到无效的 JSON。解析 JSON 文本时服务器发生错误。-32600 无效请求 发送的 JSON 不是有效的请求对象。-32601 Method not found 该方法不存在/不可用。-32602 Invalid params 无效的方法参数。-32603 内部错误 内部 JSON-RPC 错误。-32000 到 -32099 服务器错误 为实现定义的服务器错误保留。
剩余空间可用于应用程序定义的错误。
它没有说你不能,例如使用 -100 或 100。我错过了什么吗?
在某处我认为 ZF 将“服务器错误”和“应用程序错误”混淆为同一件事,而在阅读上面的 sourcefourge 链接时,协议的作者显然有不同的想法,允许应用程序开发人员很多空间:
此外,范围 -32099 .. -32000(含)保留用于实现定义的服务器错误。没有完全映射到此规范定义的特定错误的服务器错误应分配给此范围内的数字。这为应用程序定义的错误留下了剩余空间。