Skip to content

Instantly share code, notes, and snippets.

@natos
Last active February 27, 2016 11:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save natos/5632861 to your computer and use it in GitHub Desktop.
Save natos/5632861 to your computer and use it in GitHub Desktop.
JavaScript API example
var API = (function () {
// private scope
var API_PREFIX = 'http://api.myapp.com';
// request helper
function _request (method, resource, data, succes, error) {
// use your favorite library here
// or just vanilla...
var options = {
url: API_PREFIX + resource,
type: method,
dataType: 'jsonp',
data: data,
success: success,
error: error
}
// execute request
$.ajax(options);
}
// the meaningful interface
return {
get: function(resource, data, success, error) {
_request('get', resource, data, success, error);
},
post: function(resource, data, success, error) {
_request('post', resource, data, success, error);
},
put: function(resource, data, success, error) {
_request('put', resource, data, success, error);
},
delete: function(resource, data, success, error) {
_request('delete', resource, data, success, error);
}
}
})();
// use
API.get('/persona',
{ id: 3 },
function success(response) {
console.log(response);
},
function error(err) {
console.log(err);
});
API.delete('/persona/' + id,
{},
function success(response) {
console.log(response);
},
function error(err) {
console.log(err);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment