Create RESTful Java Client With Jersey Client Example

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

 



<<Previous <<   || Index ||   >>Next >>


1 comment:

  1. Hi, I have used this tutorial but I am getting 404 error when I run the application. Can u pls help?

    ReplyDelete