运行 作为 API 的 Neo4j 遍历 JAR
Run a Neo4j traversal JAR as an API
我在 Java 中编写了一个遍历(使用 Eclipse IDE)。 main() 程序接受输入参数(经典的 args[]),它调用遍历使用其中一个作为起始节点,其他 args 用于对遍历结果执行一些数据过滤。
因此,我可以 运行 在带有相应参数的命令行上使用此 JAR。
问题:如何快速测试此 JAR 作为 RESTful API? 例如将其参数作为输入参数发送 HTTP GET?最佳做法是什么?
谢谢
最好的方法是创建一个 unmanaged extension 来接受调用遍历的查询参数
文档中的示例:
@Path( "/helloworld" )
public class HelloWorldResource
{
private final GraphDatabaseService database;
public HelloWorldResource( @Context GraphDatabaseService database )
{
this.database = database;
}
@GET
@Produces( MediaType.TEXT_PLAIN )
@Path( "/{nodeId}" )
public Response hello( @PathParam( "nodeId" ) long nodeId )
{
// Do stuff with the database
return Response.status( Status.OK ).entity(
("Hello World, nodeId=" + nodeId).getBytes( Charset.forName("UTF-8") ) ).build();
}
}
您可以在此处找到一个 test 示例:https://github.com/neo4j/neo4j/blob/2.2.1/community/server-examples/src/test/java/org/neo4j/examples/server/unmanaged/UnmanagedExtensionsDocIT.java
我在 Java 中编写了一个遍历(使用 Eclipse IDE)。 main() 程序接受输入参数(经典的 args[]),它调用遍历使用其中一个作为起始节点,其他 args 用于对遍历结果执行一些数据过滤。 因此,我可以 运行 在带有相应参数的命令行上使用此 JAR。
问题:如何快速测试此 JAR 作为 RESTful API? 例如将其参数作为输入参数发送 HTTP GET?最佳做法是什么?
谢谢
最好的方法是创建一个 unmanaged extension 来接受调用遍历的查询参数
文档中的示例:
@Path( "/helloworld" )
public class HelloWorldResource
{
private final GraphDatabaseService database;
public HelloWorldResource( @Context GraphDatabaseService database )
{
this.database = database;
}
@GET
@Produces( MediaType.TEXT_PLAIN )
@Path( "/{nodeId}" )
public Response hello( @PathParam( "nodeId" ) long nodeId )
{
// Do stuff with the database
return Response.status( Status.OK ).entity(
("Hello World, nodeId=" + nodeId).getBytes( Charset.forName("UTF-8") ) ).build();
}
}
您可以在此处找到一个 test 示例:https://github.com/neo4j/neo4j/blob/2.2.1/community/server-examples/src/test/java/org/neo4j/examples/server/unmanaged/UnmanagedExtensionsDocIT.java