Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.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
无法使用Neo4J 2.3.1中不允许的Response.Status.METHOD__Neo4j_Jersey_Jax Rs_Graph Databases - Fatal编程技术网

无法使用Neo4J 2.3.1中不允许的Response.Status.METHOD_

无法使用Neo4J 2.3.1中不允许的Response.Status.METHOD_,neo4j,jersey,jax-rs,graph-databases,Neo4j,Jersey,Jax Rs,Graph Databases,我正在创建一个具有如下动态路径的REST api: @DELETE @路径(“/{Path:.+}”) @产生(MediaType.APPLICATION_JSON) 公共作废删除(){ ... } 当我没有通过路径找到单个节点时,我想返回405“methodnotallowed”响应。为此,我尝试了以下方法: 返回Response.status(Response.status.METHOD_不允许)。build(); 这将导致异常,服务器将给出500“服务器错误”响应。这就是我得到的: j

我正在创建一个具有如下动态路径的REST api:

@DELETE
@路径(“/{Path:.+}”)
@产生(MediaType.APPLICATION_JSON)
公共作废删除(){
...
}
当我没有通过路径找到单个节点时,我想返回405“methodnotallowed”响应。为此,我尝试了以下方法:

返回Response.status(Response.status.METHOD_不允许)。build();
这将导致异常,服务器将给出500“服务器错误”响应。这就是我得到的:

java.lang.NoSuchFieldError:不允许使用方法
... 我无聊的课。。。
位于com.sun.jersey.spi.container.ContainerResponse.mapException(ContainerResponse.java:480)
位于com.sun.jersey.spi.container.ContainerResponse.mapMappableContainerException(ContainerResponse.java:417)
位于com.sun.jersey.server.impl.application.WebApplicationImpl.\u handleRequest(WebApplicationImpl.java:1477)
位于com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)
位于com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)
在com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)上
位于com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558)
位于com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
位于org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:800)
位于org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
位于org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
位于org.neo4j.server.rest.web.CollectUserAgentFilter.doFilter(CollectUserAgentFilter.java:69)
位于org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
位于org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
位于org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)
位于org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1125)
位于org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
位于org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
位于org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1059)
位于org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
位于org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
位于org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
位于org.eclipse.jetty.server.server.handle(server.java:497)
位于org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
位于org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:248)
位于org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
位于org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:620)
位于org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:540)
运行(Thread.java:745)

有什么想法吗?:)

不允许的方法应为int 405。因此威廉·里昂的回答应该是正确的:

return Response.status(405).build();
但看起来我们应该请求neo4j 3.0将jax rs从1.1升级到2


你能在github上创建并提出问题吗

不允许的方法应为int 405。因此威廉·里昂的回答应该是正确的:

return Response.status(405).build();
但看起来我们应该请求neo4j 3.0将jax rs从1.1升级到2


你能在github上创建并提出问题吗

这是给你的。1.1没有字段。必须是一个糟糕的版本组合。我不使用Neo4J,因此我不确定如何修复不兼容。您是否尝试
返回Response.status(405.build()?@WilliamLyon:是的,我试过了,而且效果很好。这感觉更像是一种变通办法,而不是解决方案。另外,当我从postman调用该方法时,它会显示“405OK”。“ok”从何而来?我更关心的是为什么会出现这个错误。如果你现在得到它,那么你很可能会再次得到它。您需要摆脱不兼容的版本组合。作为提示,看起来正在使用Jersey 1.x,即JAX-1.1,而您尝试使用的Response.Status类来自JAX-RS 2.0。1.1没有字段。必须是一个糟糕的版本组合。我不使用Neo4J,因此我不确定如何修复不兼容。您是否尝试
返回Response.status(405.build()?@WilliamLyon:是的,我试过了,而且效果很好。这感觉更像是一种变通办法,而不是解决方案。另外,当我从postman调用该方法时,它会显示“405OK”。“ok”从何而来?我更关心的是为什么会出现这个错误。如果你现在得到它,那么你很可能会再次得到它。您需要摆脱不兼容的版本组合。作为提示,看起来正在使用Jersey 1.x,即JAX-1.1,而您尝试使用的Response.Status类来自JAX-RS 2.0