jersey服务器、jersey客户端、jersey grizzly在RESTful应用程序中的用途

jersey服务器、jersey客户端、jersey grizzly在RESTful应用程序中的用途,rest,maven,tomcat,jersey,jersey-client,Rest,Maven,Tomcat,Jersey,Jersey Client,我正在尝试使用Maven、ApacheTomcat7.0、EclipseIDE创建一个基本的RESTful应用程序。我在google提供的一些示例代码中遇到了maven依赖项的用法,如jersey服务器、jersey客户端、jersey grizzly等 我想知道这些依赖项的用途,即我们为什么添加它们,它是做什么的,它们是如何工作的 我已经参考了好几个jersey javadocs,但无法获得清晰的图片。请提供一个简单的解释 提前感谢简而言之:您使用jersey server公开REST API

我正在尝试使用Maven、ApacheTomcat7.0、EclipseIDE创建一个基本的RESTful应用程序。我在google提供的一些示例代码中遇到了maven依赖项的用法,如jersey服务器、jersey客户端、jersey grizzly等

我想知道这些依赖项的用途,即我们为什么添加它们,它是做什么的,它们是如何工作的

我已经参考了好几个jersey javadocs,但无法获得清晰的图片。请提供一个简单的解释


提前感谢

简而言之:您使用jersey server公开REST API,如本例所示:

@Path("/hello")
class RESTDispatcher {

    @GET
    @Path("/world")
    public String helloWorld() {
        return "Hello world!"
    }
}
您可以使用jersey客户端来使用RESTAPI

public static String callRestAPI(String[] args) {
    Invocation.Builder builder = ClientBuilder
                                .newClient()
                                .target("http://localhost/hello/world");
    Response response = builder.method("GET");
    String result = response.readEntity(String.class);
    return result; 
    //will return "Hello world!" with our previous example deployed on localhost
}
和jersey grizzly一起使用jersey和grizzly服务器

更新
我的意思是,每当我们需要调用某人公开的RESTAPI时,我们都需要jersey客户端。
我的jersey客户端使用示例假设第一个示例部署在本地主机上。请参见第一个示例的注释,类的@Path和方法的@Path产生路径/hello/world,应该通过HTTP GET请求调用该路径(请参见@GET注释)。
所以我们用这个目标创建REST客户机

Invocation.Builder builder = ClientBuilder
                            .newClient()
                            .target("http://localhost/hello/world");
然后我们使用HTTP GET请求调用这个目标

Response response = builder.method("GET");
然后我们知道(通过helloWorld方法的签名),这个API响应包含一个可以反序列化为String实例的实体。所以我们把它读入“result”变量

您应该提供反序列化的目标类作为readEntity响应方法的参数。
另外,RESTAPI只返回字符串并不常见。相反,它们返回JSON或XML。
在这种情况下,您可以使用JAXB来读取实体,Jersey可以很好地使用它。查看并。

感谢您的回复……如果您能详细介绍jersey客户端“使用”rest API,那将非常有帮助。
String result = response.readEntity(String.class);