我在收到curl请求时收到了有效的回复:
bin/gremlin-server.bat conf/gremlin-server-rest-modern.yaml
curl "http://localhost:8182?gremlin=100-1"
curl "http://localhost:8182?gremlin=g.V()"
但是通过浏览器我得到了以下按摩:
{"message":"no gremlin script supplied"}
也尝试如下,但没有结果:
http://localhost:8182/gremlin?script=g.V()
http://localhost:8182/graphs/tinkergraph/tp/gremlin?script=g.traversal().V()
http://localhost:8182/graphs/tinkergraph/tp/gremlin?script=g.V()
有关通过浏览器传递脚本的有效方式的任何建议。
答案 0 :(得分:2)
我不确定这是一个"错误"确切地说,但Gremlin Server并不尊重非常复杂的ACCEPT
标题。例如,当我尝试在Chrome中解析您的前两个网址之一时,我得到:
{
message: "no serializer for requested Accept header: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
}
默认情况下,Gremlin Server不支持ACCEPT
。如果浏览器已请求application/json
或仅*.*
,则可以使用。请注意*.*
与质量0.8
一起出现,但Gremlin Server没有解析标题以确定它。结果,它无法找到序列化器来正确处理它。
我所知道的浏览器没有解决方法。我已经创建了一个问题来解决这个问题:
答案 1 :(得分:1)
当我在启动gremlin-server之前忘记启动cassandra时,我也看到了这个错误。
答案 2 :(得分:0)
由于你的问题,我找到了答案,所以我会为@ stacey-morgan寻找合适的答案: 您在CLI上查询:
curl "http://localhost:8182?gremlin=100-1"
然后你可能被查询(因为你的问题不清楚)
http://localhost:8182/gremlin?script=100-1
或者你做过的其他人,就像我一样:
http://localhost:8182/gremlin?script=g.V()
您将收到错误消息。 正确的方法只是粘贴curl命令中的“”内容。所以
http://localhost:8182?gremlin=100-1
然后同样适用于您的其他查询:
http://localhost:8182/?gremlin=g.V()
http://localhost:8182/?gremlin=g.traversal().V()
注意:尾部斜杠should在那里,虽然它在我的FF上没有它。那就是HTTP。
使用:Ubuntu& Titan1.0.0-hadoop1。
答案 3 :(得分:0)
我的问题是由于请求中存在空格。
这很有效;
curl http://localhost:8182/?gremlin="g.V().has('name','foody')"
但这没有;
curl http://localhost:8182/?gremlin="g.V().has('name', 'foody')"
尝试从你的手中移除它们,它们应该有效。