Jersey ile REST servisleri hazırlandığı gibi varolan bir REST servisini çağırmak için de kullanılabilir. Bunun için aşağıdaki jar'ları ekleyebilirsiniz :
- jersey-client.jar
- jersey-core.jar
Eğer Maven kullanıyorsanız aşağıdaki gibi bağımlığı ekleyebilirsiniz :
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>1.14</version>
</dependency>
GET ile çağrıldığında bir String döndüren bir REST servisini çağıralım:
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.ClientResponse;
import com.sun.jersey.api.client.WebResource;
public class RestClientTest {
public static void main(String[] args) {
Client client = Client.create();
WebResource webResource = client.resource("http://localhost:8080/book.rest/rest/helloworld");
ClientResponse response = webResource.accept("text/plain").get(ClientResponse.class);
if (response.getStatus() != 200) {
System.out.println("fail:" + response.getStatus());
}
String output = response.getEntity(String.class);
System.out.println("response : "+output);
}
}
http://localhost:8080/book.rest/rest/helloworld GET ile çağrıldığında size Hello World yazısını dönen bir servistir. Cevap text/plain şeklinde dönmektedir. Önce Client nesnesi yaratılıyor. Client'den yeni bir kaynak nesnesi oluşturuluyor. Cevap olarak ClientResponse alacak şekilde get method'u çağrılıyor. Ardından 200 cevabı dönüldüyse (HTTP status kodu 200 başarılı anlamına geliyor) gelen cevap alınıp çıktıya basılıyor.