2017-08-25 50 views
-2

我正在使用Tom Cat服务器和Jersey Framework来实现RESTful Web服务。我有一个主要方法,我想在main中调用它,然后运行Tomcat。我怎样才能做到这一点?从主要方法调用java应用程序中的Web服务

@GET 
    @Path("/{parameterPk}/{parameterData}") 
    public Response getJSONObj(@PathParam("parameterPk") String parameterPk, 

      @PathParam("parameterData") String parameterData) { 
     System.out.println("Starting..."); 

     JSONObject jsonObj = new JSONObject(); 
     jsonObj.put(IDENTIFIER_JSON_ID, parameterPk); 
     jsonObj.put(IDENTIFIER_JSON_DATA, parameterData); 

     JSONArray jsonarray = new JSONArray(); 
     jsonarray.add(jsonObj); 
     System.out.println(jsonarray); 

     JSONObject jsonMain = new JSONObject(); 
     jsonMain.put("Employee", jsonarray); 
     System.out.println(jsonMain.toString()); 

     return Response.status(200).entity(jsonMain.toString()).build(); 
    } 
+0

你有服务运行和测试?据我了解 - 你想创建一个客户端?我相信你会失去在搜索引擎中搜索“java restful client”的例子(例如https://alvinalexander.com/java/java-apache-httpclient-restful-client-examples) – gusto2

回答

0

您需要开发一个REST客户端来调用REST服务。

这样定义的URL在你的main()方法:

http://localhost:9080/"Context-root name"/"url-pattern"/"Path"/ 

本地主机可以通过该应用程序正在运行的服务器的IP地址替换。 给出正在运行应用程序的服务器的正确端口号。 查找上下文根名称并将其放在适当的位置。 然后检查你的web.xml等被定义URL模式,例如“/ REST/*”

<servlet-mapping> 
    <servlet-name>javax.ws.rs.core.Application</servlet-name> 
    <url-pattern>/rest/*</url-pattern> 
</servlet-mapping> 

然后再给它在REST服务编写的类定义的x路。

而且通过这种方式,REST服务,可以从主()被调用:

String inputForRest = "Test Message for REST"; 
RestClient client = new RestClient(); 
Resource resource = client.resource(restURL); 
String responseStr = resource.contentType(MediaType.APPLICATION_XML).accept("*/*").post(String.class, inputForRest); 

媒体类型可以根据休息消费者喜欢JSON是不同的,XML等

相关问题