当我尝试使用curl命令通过REST传递密码查询时,我收到以下错误。我的问题是curl命令特有的愚蠢,我无法弄明白。
在此查询(我的查询的非常简单的版本)上:
curl -X POST http://myhostname02:7474/db/data/ext/CypherPlugin/graphdb/execute_query -H "Content-Type: application/json" --data-binary '{ "query": "start ca=node:ca('NUM_CA:(\"000999\", \"000177\")') return ca.NME_CA", "params": {} }'
错误:(控制台转储)
[user@myhostname02 neo4j]$ curl -X POST http://myhostname02:7474/db/data/ext/CypherPlugin/graphdb/execute_query -H "Content-Type: application/json" --data-binary '{ "query": "start ca=node:ca('NUM_FA:(\"000999\", \"000177\")') return ca.NME_CA", "params": {} }'
bash: syntax error near unexpected token `('
bash:意外令牌附近的语法错误`('
但是,同样的JSON我能成功地从http web控制台和cypher运行。 我做了很多查询,但只有一个起点,我不确定这个问题出了什么问题。以下一个成功执行(使用单个起始点):
curl -X POST http://myhostname02:7474/db/data/ext/CypherPlugin/graphdb/execute_query -H "Content-Type: applicatio/json" --data-binary '{ "query": "start ca=node:ca(NUM_CA=\"000999\") return ca.NME_CA", "params": {} }'
请帮我理解这个!
已编辑 - 添加控制台转储。
答案 0 :(得分:2)
您对查询没有最终引用。
更新(现在结束报价是固定的): 它仍然与引号有关。您在lucene查询周围的中间有单引号,并围绕整个消息。如果你把它放在一个文件中,它就可以了。试试这个:
$ cat test.json
{ "query": "start ca=node:ca('NUM_CA:(\"000999\", \"000177\")') return ca.NME_CA", "params": {} }
$ curl -X POST -d @test.json http://localhost:7474/db/data/ext/CypherPlugin/graphdb/execute_query -H "Content-Type: application/json"