如何为REST Web服务编写客户端?

时间:2016-06-04 15:56:08

标签: java web-services rest jax-rs

我正在尝试为REST Web服务编写客户端;我正在使用Tomcat应用程序服务器。以下所有软件包均不受支持。

import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;

我是REST新手,我应该为这些库添加哪个依赖项?

package com.abc.client;

import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;

public class JaxRSClient {
    public static void main(String args[]){
        // Creating the client
        Client client = ClientBuilder.newClient();
        WebTarget target = client.target(
            "http://localhost:8080/jersey/RestWebService/HelloREST/"
        );
        System.out.println(target.request(MediaType.TEXT_PLAIN).get(String.class));
    }
}

1 个答案:

答案 0 :(得分:3)

您拥有javax.ws.rs-api

中的所有课程
<dependency>
    <groupId>javax.ws.rs</groupId>
    <artifactId>javax.ws.rs-api</artifactId>
    <version>2.0.1</version>
</dependency>

但这只是API,您需要选择JAX-RS实施,例如Jersey(您可以获取现有实施的完整列表here)。

如果你想使用Jersey,你需要只为你的pom文件添加下一个依赖项,实际上javax.ws.rs-api已经是jersey-client的依赖项

<dependency>
    <groupId>org.glassfish.jersey.core</groupId>
    <artifactId>jersey-client</artifactId>
    <version>2.23</version>
</dependency>