我正在尝试从 Apache Flex 前端使用 neo4j 的 REST API。当我的 Flex 应用程序连接到基本 URL ( http://localhost:7474/db/data/
) 以发现其他服务 URL 时,它会以 HTML 而不是 JSON 格式返回回复(就像我在浏览器中输入基本 URL 一样)。
在 Flex HTTP 请求中,我将Content-Type和Accept标头都设置为“application/json”,但并没有什么不同。我也尝试过GET和POST请求方法。
我已经验证 neo4j 能够通过一个简单的 telnet 窗口发送 JSON 响应,因此它必须根据 HTTP 请求中的某些内容“智能地”格式化响应。不过,我认为Content-Type和Accept标头会处理它。
我意识到这个问题在技术上不在于 neo4j,而是在 Flex 的 HTTPService(和支持)类中的某个地方,但我在解决明显的错误/限制方面一直没有成功。
有没有办法简单地强制来自 neo4j 的所有此类响应仅采用 JSON 格式?
谢谢,
克里斯
* 编辑 *
根据下面的要求,这是我在 Flex 应用程序中得到的确切回复:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><title>Root</title><meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<link href='http://resthtml.neo4j.org/style/rest.css' rel='stylesheet' type='text/css'>
<script type='text/javascript' src='/webadmin/htmlbrowse.js'></script>
</head>
<body onload='javascript:neo4jHtmlBrowse.start();' id='root'>
<div id='content'><div id='header'><h1><a title='Neo4j REST interface' href='/'><span>Neo4j REST interface</span></a></h1></div>
<div id='page-body'>
<table class="root"><caption>Root</caption>
<tr class='odd'><th>relationship_index</th><td><a href="http://localhost:7474/db/data/index/relationship">http://localhost:7474/db/data/index/relationship</a></td></tr>
<tr><th>node_index</th><td><a href="http://localhost:7474/db/data/index/node">http://localhost:7474/db/data/index/node</a></td></tr>
</table>
<div class='break'> </div></div></div></body></html>
如果我只是手动将基本 URL 放入我的 Web 浏览器并以这种方式检索它,这与我得到的结果相同。