Error handling JSON RPC 2.0标准响应
我目前正在研究在代码中实现一些JSON RPC 2.0响应。但是,我有点不清楚使用它的标准实践是什么: 1) 当用户发送带有无效参数的请求时,我是否应该逐字返回默认错误消息Error handling JSON RPC 2.0标准响应,error-handling,standards,json-rpc,web-standards,Error Handling,Standards,Json Rpc,Web Standards,我目前正在研究在代码中实现一些JSON RPC 2.0响应。但是,我有点不清楚使用它的标准实践是什么: 1) 当用户发送带有无效参数的请求时,我是否应该逐字返回默认错误消息 {"jsonrpc": "2.0", "error": {"code": -32602, "message": " Invalid params"}, "id": "1"} 或者信息可以更具体一些,比如: {"jsonrpc": "2.0", "error": {"code": -32602, "message":
{"jsonrpc": "2.0", "error": {"code": -32602, "message": " Invalid params"}, "id": "1"}
或者信息可以更具体一些,比如:
{"jsonrpc": "2.0", "error": {"code": -32602, "message": " Invalid params: invalid username"}, "id": "1"}
或者这些自定义消息应该有自己的错误代码吗
2) 如果用户说,从数据库请求数据,而响应是“数据不存在”,如中所示,我们没有遇到任何错误,但仍然没有返回任何内容,那么应该以JSON RPC错误
的形式返回,还是应该是更多的表示未找到数据的响应?换句话说,JSON RPC中使用错误作为正常返回条件的约定是像GoogleGo中那样的,还是更类似于“真正混乱的事情”恐慌
data
获取有关错误的附加信息,因此,在您的情况下,响应必须为:{“jsonrpc”:“2.0”,“错误”:{“code”:-32602,“消息”:“无效参数”,“数据”:“无效用户名”},“id”:“1”}
您可以在-32000
到-32099
的范围内创建自己的个人错误代码,但我只会在必要时这样做,也就是说,除非您的客户端应用程序在这种情况下的行为(“无效用户名”)与在任何其他-32602情况下的行为不同