Neo4j REST API возвращает 404

В настоящее время я оцениваю базу данных Neo4j (v. 2.2.6) и пытаюсь подключиться к остальным API. Для подключения я использую C # и Neo4JClient (v. 1.1.0.10), а также я только что попытался запустить GET с почтальоном.

если я снова запускаю GET http://localhost:7474/data/db/, он возвращается без каких-либо заголовков

{
    "errors": [
 {
    "message": "No authorization header supplied.",
    "code": "Neo.ClientError.Security.AuthorizationFailed"
  }]
}

Это имеет смысл, потому что я не предоставлял базовый заголовок аутентификации. Моя проблема заключается в том, что когда я добавляю заголовок Basic Auth к запросу, он возвращает 404, и, насколько я могу судить, он возвращает 404 для любого запроса.

  1. Должен ли я в любом случае включать остальные API? Или что еще может быть не так?
  2. Существуют ли другие способы запуска запросов? (Кроме оболочки, веб-интерфейса и остальных)
  3. Каков предпочтительный способ доступа к базе данных? Это REST API?

person Lasse Vabe Rolstad    schedule 21.10.2015    source источник
comment
Если вы подключаетесь через веб-администратора, вам нужно передать комбинацию пользователя/пароля? Если да, вы также передаете это через конструктор Neo4jClient? Не могли бы вы добавить свой код С#, если это возможно?   -  person Charlotte Skardon    schedule 21.10.2015


Ответы (1)


TL;ДР; Правильный URL - http://localhost:7474/db/data/

Похоже, в вашей настройке есть небольшая проблема/опечатка.
Давайте пройдемся по всем этим вещам.

Я буду использовать curl в своих примерах.

Получить корень базы данных:

curl -i --user neo4j:neo4j http://localhost:7474

Результат:

HTTP/1.1 200 OK
Date: Wed, 21 Oct 2015 14:14:20 GMT
Content-Type: application/json; charset=UTF-8
Access-Control-Allow-Origin: *
Content-Length: 100
Server: Jetty(9.2.4.v20141103)

{
  "management" : "http://localhost:7474/db/manage/",
  "data" : "http://localhost:7474/db/data/"
}% 

Хорошо. Попробуем получить data url.

$ curl -i --user neo4j:neo4j http://localhost:7474/db/data/
HTTP/1.1 200 OK
Date: Wed, 21 Oct 2015 14:16:43 GMT
Content-Type: application/json; charset=UTF-8
Access-Control-Allow-Origin: *
Content-Length: 730
Server: Jetty(9.2.4.v20141103)

{
  "extensions" : { },
  "node" : "http://localhost:7474/db/data/node",
  "node_index" : "http://localhost:7474/db/data/index/node",
  "relationship_index" : "http://localhost:7474/db/data/index/relationship",
  "extensions_info" : "http://localhost:7474/db/data/ext",
  "relationship_types" : "http://localhost:7474/db/data/relationship/types",
  "batch" : "http://localhost:7474/db/data/batch",
  "cypher" : "http://localhost:7474/db/data/cypher",
  "indexes" : "http://localhost:7474/db/data/schema/index",
  "constraints" : "http://localhost:7474/db/data/schema/constraint",
  "transaction" : "http://localhost:7474/db/data/transaction",
  "node_labels" : "http://localhost:7474/db/data/labels",
  "neo4j_version" : "2.2.5"
}% 

Все работает так, как ожидалось. Нет необходимости дополнительно что-то включать.

person FylmTM    schedule 21.10.2015
comment
Ух ты! Да, теперь я вижу, что переключаю базу данных и данные. Спасибо! - person Lasse Vabe Rolstad; 21.10.2015
comment
@LasseVabeRolstad все делают опечатки!) - person FylmTM; 21.10.2015