This tutorial show you how to use Jersey client APIs to create a RESTful Java client to perform “GET” requests to REST service that created in this How to build RESTful Service with Java using JAX-RS and Jersey (Example) example.
package com.dineshonjava.ws.rest.client;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.ClientResponse;
import com.sun.jersey.api.client.WebResource;
/**
* @author Dinesh Rajput
*
*/
public class RestWebServiceClient {
/**
* @param args
*/
public static void main(String[] args) {
RestWebServiceClient client = new RestWebServiceClient();
client.sayHello();
client.getMessage("Welcome");
client.getXMLEmployees();
client.getXMLEmployee(11111);
client.getJSONEmployees();
client.getJSONEmployee(11111);
}
private void sayHello() {
try {
Client client = Client.create();
WebResource webResource = client.resource("http://localhost:8181/sdnext/doj/webservice/hello");
ClientResponse response = webResource.accept("text/plain").get(ClientResponse.class);
if (response.getStatus() != 200) {
throw new RuntimeException("Failed : HTTP error code : " + response.getStatus());
}
String output = response.getEntity(String.class);
System.out.println("n============getResponse============");
System.out.println(output);
} catch (Exception e) {
e.printStackTrace();
}
}
private void getMessage(String msg) {
try {
Client client = Client.create();
WebResource webResource = client.resource("http://localhost:8181/sdnext/doj/webservice/message/"+msg);
ClientResponse response = webResource.accept("text/plain").get(ClientResponse.class);
if (response.getStatus() != 200) {
throw new RuntimeException("Failed : HTTP error code : " + response.getStatus());
}
String output = response.getEntity(String.class);
System.out.println("n============getCResponse============");
System.out.println(output);
} catch (Exception e) {
e.printStackTrace();
}
}
private void getXMLEmployees() {
try {
Client client = Client.create();
WebResource webResource = client.resource("http://localhost:8181/sdnext/doj/webservice/employees");
ClientResponse response = webResource.accept("application/xml").get(ClientResponse.class);
if (response.getStatus() != 200) {
throw new RuntimeException("Failed : HTTP error code : " + response.getStatus());
}
String output = response.getEntity(String.class);
System.out.println("n============getCResponse============");
System.out.println(output);
} catch (Exception e) {
e.printStackTrace();
}
}
private void getXMLEmployee(int empid) {
try {
Client client = Client.create();
WebResource webResource = client.resource("http://localhost:8181/sdnext/doj/webservice/employee/"+empid);
ClientResponse response = webResource.accept("application/xml").get(ClientResponse.class);
if (response.getStatus() != 200) {
throw new RuntimeException("Failed : HTTP error code : " + response.getStatus());
}
String output = response.getEntity(String.class);
System.out.println("n============getCResponse============");
System.out.println(output);
} catch (Exception e) {
e.printStackTrace();
}
}
private void getJSONEmployees() {
try {
Client client = Client.create();
WebResource webResource = client.resource("http://localhost:8181/sdnext/doj/webservice/json/employees/");
ClientResponse response = webResource.accept("application/json").get(ClientResponse.class);
if (response.getStatus() != 200) {
throw new RuntimeException("Failed : HTTP error code : " + response.getStatus());
}
String output = response.getEntity(String.class);
System.out.println("n============getCResponse============");
System.out.println(output);
} catch (Exception e) {
e.printStackTrace();
}
}
private void getJSONEmployee(int empid) {
try {
Client client = Client.create();
WebResource webResource = client.resource("http://localhost:8181/sdnext/doj/webservice/json/employee/"+empid);
ClientResponse response = webResource.accept("application/json").get(ClientResponse.class);
if (response.getStatus() != 200) {
throw new RuntimeException("Failed : HTTP error code : " + response.getStatus());
}
String output = response.getEntity(String.class);
System.out.println("n============getCResponse============");
System.out.println(output);
} catch (Exception e) {
e.printStackTrace();
}
}
}
output:
============getResponse============
Hello World!!! dineshonjava
============getCResponse============
Welcome
============getCResponse============
<?xml version=”1.0″ encoding=”UTF-8″ standalone=”yes”?>
<employees>
<employee>
<address>New Delhi</address>
<employeeId>22222</employeeId>
<employeeName>Abhishek</employeeName>
<jobType>Marketing</jobType>
<salary>50000</salary>
</employee>
<employee>
<address>Noida</address>
<employeeId>11111</employeeId>
<employeeName>Dineh Rajput</employeeName>
<jobType>Sr.Software Engineer</jobType>
<salary>70000</salary>
</employee>
</employees>
============getCResponse============
<?xml version=”1.0″ encoding=”UTF-8″ standalone=”yes”?>
<employee>
<address>Noida</address>
<employeeId>11111</employeeId>
<employeeName>Dineh Rajput</employeeName>
<jobType>Sr.Software Engineer</jobType>
<salary>70000</salary>
</employee>
============getCResponse============
{“employee”:[{“address”:”New Delhi”,”employeeId”:”22222″,”employeeName”:”Abhishek”,”jobType”:”Marketing”,”salary”:”50000″},{“address”:”Noida”,”employeeId”:”11111″,”employeeName”:”Dineh Rajput”,”jobType”:”Sr.Software Engineer”,”salary”:”70000″}]}
============getCResponse============
{“address”:”Noida”,”employeeId”:”11111″,”employeeName”:”Dineh Rajput”,”jobType”:”Sr.Software Engineer”,”salary”:”70000″}
Download Source Code + Libs
RESTClient.zip
References
1. JAVA REST Web Services
2. Wikipedia for REST Web Service
Strategy Design Patterns We can easily create a strategy design pattern using lambda. To implement…
Decorator Pattern A decorator pattern allows a user to add new functionality to an existing…
Delegating pattern In software engineering, the delegation pattern is an object-oriented design pattern that allows…
Technology has emerged a lot in the last decade, and now we have artificial intelligence;…
Managing a database is becoming increasingly complex now due to the vast amount of data…
Overview In this article, we will explore Spring Scheduler how we could use it by…