Rest Client in Java

RESTfulClient.java


package com.service.client;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

public class RESTfulClient {

public static void main(String args[])
{
RESTfulClient restfulClient = new RESTfulClient();
String body = "{\"customerId\":\"customerId1\",\"userId\":\"userId1\"}";
restfulClient.sendRequest(body);
}

public String sendRequest(String body) {

System.out.println("RESTfulClient : sendRequest : Start");
InputStream is = null;
BufferedReader br=null;
try {
//This works for HTTP and HTTPS
HttpURLConnection httpURLConnection;

URL url = new URL("http://10.10.10.10:9090/ProjName/rest/UserMasterDetails/GetUserStatus");

httpURLConnection = (HttpURLConnection) url.openConnection();

//body in request
//String body = "{\"customerId\":\"customerId1\",\"userId\":\"userId1\"}";

//header in request(id and secret key)
/*httpURLConnection.addRequestProperty("X-IBM-Client-ID", "c4f99b63-9114-423c-9e2f-8685b9bdc516");
httpURLConnection.addRequestProperty("X-IBM-Client-Secret",
"mK6mY0gI8uS6wK8uO6pM8fR1eO2rL4bI2sG3xH4fY2gI7aU8tD");*/

httpURLConnection.setRequestProperty("Content-Type", "application/json;charset=utf-8");
httpURLConnection.setRequestProperty("Accept", "application/json");
httpURLConnection.setRequestProperty("Content-Length", "" + Integer.toString(body.getBytes().length));
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setConnectTimeout(Integer.parseInt("120000000"));
httpURLConnection.setReadTimeout(Integer.parseInt("120000000"));
httpURLConnection.setDoOutput(true);
httpURLConnection.setDoInput(true);
httpURLConnection.setAllowUserInteraction(true);
//System.out.println("request header: " + httpURLConnection.getRequestProperty("X-IBM-Client-ID"));

httpURLConnection.connect();

OutputStream os = httpURLConnection.getOutputStream();
os.write(body.getBytes());
os.flush();

System.out.println("request body: " + os);


System.out.println("ClientSendSms : ResponseCode(): " + httpURLConnection.getResponseCode());
if (httpURLConnection.getResponseCode() == HttpURLConnection.HTTP_OK)
{
is = httpURLConnection.getInputStream();
} else {
is = httpURLConnection.getErrorStream();
}

br = new BufferedReader(new InputStreamReader(is));

System.out.println("br.ready(): " + br.ready());
System.out.println("is.read(): " +  is.read());

StringBuffer b=new StringBuffer();

String output="";
while ((output = br.readLine()) != null)
{
b.append(output);
}

System.out.println("ClientSendSms : sendRequest : response: " + b.toString());
            return b.toString();
         
} catch (Exception e) {
e.printStackTrace();
System.out.println("ClientSendSms : sendRequest : exception");
} finally {
try{
if (br != null) {
br.close();
}
if (is != null) {
is.close();
}
} catch (Exception e){
e.printStackTrace();
}
}
System.out.println("RESTfulClient : sendRequest : End");
return "failed";
}



}


Output:

RESTfulClient : sendRequest : Start
request body: {"customerId":"customerId1","userId":"userId1"}
ClientSendSms : ResponseCode(): 200
br.ready(): true
is.read(): 123

ClientSendSms : sendSms : response: "response":"{\"message\":\"Invalid userId\",\"status\":\"fail\",\"code\":\"R08\"}"}

No comments:

Post a Comment