错误处理

对 HTTP API 的任何请求的结果会以流的形式返回给客户端,内容与底层 Neo4j 服务器返回的一致。服务器在发送 HTTP 状态码时并不知道请求是否会成功。因此,所有 API 请求都会返回 200/201 状态码,无论语句是否成功执行。唯一的例外是 身份验证 错误,会返回 301 状态码。

在响应负载的末尾,服务器会包含一列在执行语句时发生的错误。空列表表示请求成功完成。

示例 1. 发送无效的 Cypher 语句

请求示例

POST  https://: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 状态码