2015-08-08 51 views
3

我收到此錯誤消息:當我嘗試使用Neo4j REST API你必須提供查詢參數試圖捲曲的Neo4j

You have to provide the 'query' parameter ... 

。我這樣做的方式是通過curl

$ curl 'http://neo4j:[email protected]:7474/db/data/cypher' -d ' 
    { 
    "query": "START n=node(*) RETURN distinct labels(n)", "params":{} 
    }' 

但是,如果我運行相同的查詢編程方式使用一個庫中Python,那麼它的確定 - 我得到一些結果返回。那麼,我應該指定什麼來使我的curl命令有效?

+0

'-X POST'和'-H「內容類型:應用程序/ json''幫我做的伎倆 – Jacobian

+0

'-X POST'其實也不是必要的。 '-H'就夠了。 – Jacobian

+0

您還應該使用最近的端點/ db/data/transaction/commit,請參閱:neo4j.com/docs/stable/rest-api-transactional.html –

回答

3

的新服務器期待它可以在默認情況下在客戶指定的application/json內容類型,但不捲曲。直接與-H參數捲曲應該工作,一些指定的內容類型類似

$ curl -X POST -H 'Content-type: application/json' \  
    'http://neo4j:[email protected]:7474/db/data/cypher' -d ' 
    { 
    "query": "START n=node(*) RETURN distinct labels(n)", "params":{} 
    }' 

在我的機器:

[~/apps/neo]$ curl -X POST -H 'Content-type: application/json'  'http://neo4j:[email protected]:7474/db/data/cypher' -d ' 
    { 
    "query": "START n=node(*) RETURN distinct labels(n)", "params":{} 
    }' 
{ 
    "columns" : [ "labels(n)" ], 
    "data" : [ [ [ "Movie" ] ], [ [ "Person" ] ], [ [ "PublicDomain" ] ] ] 
} 

沒有Content-Type頭,我看你做同樣的錯誤。

有趣的是,你在評論中指出的那樣,你可以調用沒有-X POST選項捲曲這一請求。這是因爲存在強制POST方法的-d參數。

相關問題