Neo4j - 如何通过REST获取当前版本

11

通过REST,我该如何获取当前正在运行的Neo4j服务器版本(或一般的服务器信息)?是否有类似于“/status” URI的东西?

3个回答

20

这是正确的答案。@Alebon 应该更改它。 - Aerodynamika
@DmitryParanyushkin 我也同意。被接受的答案并不是真正的API调用。它返回一个基本的HTML页面,其中包含进一步探索的链接。 - Marko Bjelac
有关版本4及以上,请参见https://dev59.com/32gv5IYBdhLWcg3wDsjZ#70876203 ↓ - Tomáš Záluský

7
在服务器数据根目录上进行 GET 请求将返回以下信息:
GET http://localhost:7474/db/data/

调用将返回一个JSON对象。服务器版本在键 "neo4j_version" 中。这在这里有记录。

谢谢Josh!哦天啊,我错过了那个...它太简单了 ;) - Alebon
1
此 URL 不返回 3.x 版本。 - Fayaz
1
是的,这个答案不再正确。如果可以的话,我会更改它。 - Josh Adell

0
根据REST API文档页面,引用如下:

本手册中描述的API已被弃用,并将在Neo4j 4.0中删除。应改为使用Cypher和过程,可以通过HTTP API或使用官方驱动程序通过Bolt进行。

自版本4+以来,http://localhost:7474/db/manage/server/version和http://localhost:7474/db/data/端点都不再起作用。假设对db的身份验证是--env NEO4J_AUTH=username/password(只是docker run选项的示例),建议使用以下HTTP API:

POST http://localhost:7474/db/data/transaction/commit
Accept: application/json;charset=UTF-8
Content-Type: application/json
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=

{
  "statements": [
    {
      "statement": "CALL dbms.components()"
    }
  ]
}

并且返回的响应是:

http://localhost:7474/db/data/transaction/commit

HTTP/1.1 200 OK
Date: Thu, 27 Jan 2022 09:20:13 GMT
Access-Control-Allow-Origin: *
Content-Type: application/json;charset=utf-8
Content-Length: 147

{
  "results": [
    {
      "columns": [
        "name",
        "versions",
        "edition"
      ],
      "data": [
        {
          "row": [
            "Neo4j Kernel",
            [
              "4.2.3"
            ],
            "community"
          ],
          "meta": [
            null,
            null,
            null
          ]
        }
      ]
    }
  ],
  "errors": []
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接