在jersey和neo4j中获取带有where子句的节点

时间:2014-02-10 14:27:58

标签: java json neo4j jersey cypher

如果有人可以帮助我,那将是一种乐趣

我正在尝试使用neo4j中的泽西进行远程密码查询

public static URI getData(HashMap<String,String> params,String query){
    JSONObject jObject = new JSONObject();
    String SERVER_ROOT_URI = "http://localhost:7474/db/data/";
     String cypherUri = SERVER_ROOT_URI + "cypher/";
        try {
            jObject.put("query", query);
            jObject.put("params", params);
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        WebResource resource = Client.create()
                .resource( cypherUri );
        ClientResponse response = resource.accept( MediaType.APPLICATION_JSON_TYPE )
                .type(MediaType.APPLICATION_JSON_TYPE)
                .entity(jObject.toString())
                .post(ClientResponse.class);
        System.out.println( String.format( "POST to [%s], status code [%d], reponse [%s]",
                cypherUri, response.getStatus(),response.getLocation()) );

        response.close();
        return response.getLocation();
}

在响应状态代码中它是200,所以OK但是response.getLocation()为null 我确实验证了json传入参数它是一个有效的json 我手动在cypher中执行了查询,它给出了一些行。

2 个答案:

答案 0 :(得分:0)

当您执行密码查询时,标题中没有任何内容,所有响应都在J体中。

答案 1 :(得分:0)

我终于找到了答案。我的JSON回复:

response.getEntity(String.class)