如何在JAVA中进行REST Web服务调用?

时间:2012-02-07 06:19:39

标签: java web-services rest

目前我有一个在tomcat中运行的Web服务(http:// localhost:8080 / myApp / getUsers )。我的Web服务将接受json字符串,然后进行相应的处理。我的网络服务代码如下:

@Path("/getUsers")
public class UsersWS
{
    @POST
    public Response post(String theRequestJSON)
    {
        try
        {
            JSONObject aJsonObj = new JSONObject(theRequestJSON);
            String userID = aJsonObj.getString("userID");   
            System.out.println(userID);
        }
    }
}

所以,我的Web服务正在处理一个json字符串。所以现在,我需要从另一个JAVA类调用上面的Web服务(jsonObject在请求参数中具有userID)。

怎么做?不久,我需要使用JSON对象作为请求参数从JAVA类进行Web服务调用。如何在请求调用中将json作为请求参数发送。

3 个答案:

答案 0 :(得分:5)

看看泽西岛:http://jersey.java.net

以下是关于如何使用客户端的好文章:  http://blogs.oracle.com/enterprisetechtips/entry/consuming_restful_web_services_with

答案 1 :(得分:3)

使用本机URLConnection或Apache HttpClient向服务器发送HTTP请求。参数必须以key=value&key2=value2...格式传递。因此,您可能需要以该格式重建JSON对象或使用其他特殊参数名称(如data=jsonstring),然后使用某个库解析json字符串。

答案 2 :(得分:2)

@George基本上已经回答了你的问题,但就JSON处理而言,你可能还想看杰克逊http://jackson.codehaus.org/

这允许您快速将Java对象转换为JSON等效项。