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
Post a Comment