Generic REST Service Call - Using Java Script and DOJO

Generic Java Script functions to invoke REST service using DOJO.





/***************************************************************************
*  JavaScript-Code-Snippet
***************************************************************************/

/**
 * Invokes REST service call for GET method.
 * @param arg_url
 * @param arg_sync
 * @param arg_loadMethod, which handles the response.
 * @param arg_handleAs, which hanles the reponse type. For ex. json/text etc.
 */
function executeGet(arg_url, arg_sync, arg_loadMethod, arg_handleAs){
var resultData = null;
var responseData = null;
//validate parameters.
console.log("Ajax Service Call for Get Method.");

resultData = dojo.xhrGet({
url : arg_url,
//postData : valueStr,
handleAs : arg_handleAs,
timeout : 5000,
load: arg_loadMethod,
sync : arg_sync,
error : fnToHandleGetServiceErrorResponse,
preventCache: true
});
if(resultData != null && resultData.results != null && resultData.results.length > 0){
responseData = resultData.results[0];
}
return responseData;
}


/**
 * Invokes REST service call for POST method.
 * @param url
 * @param sync, for Sync or Async call.
 * @param loadHandlerMethod, handler method when service respond.
 * @param handleAs, handle response content type. For ex. json or text etc.
 * @param postData, json data.
 * @returns responseData
 */
function executePost(url, sync, loadHandlerMethod, handleAs, postData){

var resultData = null;
var responseData = null;
//Validate parameters.
resultData = dojo.xhrPost({
url : url,
postData : postData,
handleAs : handleAs,
timeout : 5000,
sync : sync,
headers: { "Content-Type": "application/json"},
load : loadHandlerMethod,
error : fnToHandlePostServiceErrorResponse
});
if(resultData != null && resultData.results != null && resultData.results.length > 0){
responseData = resultData.results[0];
}
return responseData;
}

/*********************************************************************************
*             Utility functions 
********************************************************************************/

/*
 * A Sample function to invoke GET Service call.
 */
function sampleFnToInvokeGetService(){
//parameters
var arg_url = "Service Url";
executeGet(arg_url, true, fnToHandleGetServiceResponse, "text");
}

/**
 * Sample function to invoke Post service call. 
 */
function sampleFnToInvokePostService(){
var url = "service url";
var responseData = executePost(url, true, fnToHandlePostServiceResponse, "text", postJsonData);
return responseData;
}


/**
* Sample function to handle Get Service Response
*/
function fnToHandleGetServiceResponse(data, ioArgs) {
var responseData = null;
if(data != null && data != ""){
responseData = data;
}
return responseData;
}

/**
* Sample function to handle Post Service Response
*/
function fnToHandlePostServiceResponse(data, ioArgs) {
var responseData = null;
if(data != null && data != ""){
responseData = data;
}
return responseData;
}


function fnToHandleGetServiceErrorResponse(error){
//Handle Error/Exception here.
}

function fnToHandlePostServiceErrorResponse(error){
//Handle Error/Exception here.
}

/****************************************************************************
*             End 
***************************************************************************/


Comments

Popular posts from this blog

Generic REST Service Call - Using Java and Wink API