错误处理

对 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 状态代码