错误处理
对 HTTP API 的任何请求的结果都会作为从底层 Neo4j 服务器接收到的结果流式传输回客户端。服务器在发送 HTTP 状态代码时不知道请求是否会成功。因此,所有 API 请求都返回 200
/201
状态代码,无论语句是否成功执行。唯一的例外是 身份验证 错误,这些错误会导致 301
状态代码。
在响应有效负载的末尾,服务器将包含在执行语句时发生的错误列表。空列表意味着请求已成功完成。
示例 1. 发送无效的 Cypher 语句
示例请求
POST http://localhost:7474/db/neo4j/tx/commit
Accept: application/json;charset=UTF-8
Content-Type: application/json
{
"statements": [
{ "statement": "This is not a valid Cypher Statement and will raise an error." }
]
}
示例响应
200: OK
Content-Type: application/json;charset=utf-8
{
"results" : [ ],
"errors" : [ {
"code" : "Neo.ClientError.Statement.SyntaxError",
"message" : "Invalid input 'T': expected <init> (line 1, column 1 (offset: 0))\n\"This is not a valid Cypher Statement.\"\n ^"
} ]
}
有关服务器可能引发的错误代码的更多信息,请参见 Neo4j 状态代码。