2015-06-11 6 views

ответ

1

Да, HTTP Query cursor API - это правильный API для этого. Он позволяет выполнять запросы AQL через HTTP.

Пример (с запросом, не графа):

curl  \ 
    -X POST \ 
    --dump - \ 
    "http://localhost:8529/_db/_system/_api/cursor" \ 
    --data '{"query":"FOR u IN users RETURN u","count":true}' 

Вы можете поместить свою строку AQL запроса (с использованием функции графа) в атрибуте запроса query. Параметры привязки необязательны. При использовании, они могут быть помещены в дополнительный bindVars атрибут запроса:

curl  \ 
    -X POST \ 
    --dump - \ 
    "http://localhost:8529/_db/_system/_api/cursor" \ 
    --data '{"query":"FOR u IN users FILTER u.name == @name RETURN u","bindVars":{"name":"foobar"}}' 
0

Отлично! Но этот AQL ниже отлично работает в редакторе AQL, но не REST.

curl -X POST --dump - http://localhost:8529/_db/database/_api/cursor --data '{query: LET from = (FOR p IN products FILTER p.name == "p1" RETURN p._id) LET to = (FOR p IN products FILTER p.name == "p2" RETURN p._id) INSERT {_from: from [0], _to: to [0], введите: "RELATED"} INTO productsedge} ' HTTP/1.1 400 Плохой запрос Сервер: ArangoDB Connection: Keep-Alive Тип контента: application/json; charset = utf-8 Content-Length: 82 {"error": true, "errorMessage": "Ожидание имени атрибута", "code": 400, "errorNum": 600}

Смежные вопросы