Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rest上的Neo4j Cypher查询返回500个响应_Neo4j_Cypher - Fatal编程技术网

Rest上的Neo4j Cypher查询返回500个响应

Rest上的Neo4j Cypher查询返回500个响应,neo4j,cypher,Neo4j,Cypher,我尝试向neo4j 2.1.3发送一个简单的密码查询,得到500个响应: POST:http://localhost:7474/db/data/cypher data = { "query" : "MATCH (it) return it limit 10" } 尝试了包括以下标题的不同变体: {'content-type': 'application/json',"Accept": 'application/json'} 所有这些都产生了相同的500 http响应 顺便说一

我尝试向neo4j 2.1.3发送一个简单的密码查询,得到500个响应:

POST:http://localhost:7474/db/data/cypher

data = {
  "query" : "MATCH (it) return it limit 10"
   }
尝试了包括以下标题的不同变体:

   {'content-type': 'application/json',"Accept": 'application/json'}
所有这些都产生了相同的500 http响应


顺便说一句。。常规Rest API请求,例如:
http://localhost:7474/db/data/node
效果很好。

不是100%,但AFAIK http头区分大小写,因此尝试使用
内容类型
而不是
内容类型
。如果您仍然得到500,请检查
数据/log
和/或
数据/graph.db/messages.log
是否有任何有用的条目。

显然,问题在于数据的编码。 不确定到底是什么,但我在里面找到的

有一个编码功能。用了它,一切都正常了

def _json_encode( data, ensure_ascii=False):

 def _any(data):
    ret = None
    if isinstance(data, (list, tuple)):
        ret = _list(data)
    elif isinstance(data, dict):
        ret = _dict(data)
    elif isinstance(data, decimal.Decimal):
        ret = str(data)
    elif isinstance(data, datetime.time):
        ret = data.strftime(options.TIME_FORMAT)
    else:
        ret = data
    return ret

 def _list(data):
    ret = []
    for v in data:
        ret.append(_any(v))
    return ret

 def _dict(data):
    ret = {}
    for k, v in data.items():
        # Neo4j doesn't allow 'null' properties
        if v is not None:
            ret[k] = _any(v)
    return ret
 ret = _any(data)
 return json.dumps(ret, ensure_ascii=ensure_ascii)

HTTP头不应区分大小写。其余的听起来不错:)@JohnMark13:你说得对。skme:尝试跟踪您通过网络发送的完整请求和响应(包括标题)。我已经跟踪了,并尝试了所有选项是否使用大写字母。当删除内容类型时,我得到415响应,因此我猜它确实接受头。正如我上面提到的,在日志扫描中找不到任何东西。您共享用于发送http请求的确切代码吗?您还可以检查data/log/neo4j.log文件中的错误消息吗?没有代码。。。我刚刚用“邮递员”试过一个POST请求。日志中也没有它的踪迹