rest-data-client

1.3.0 • Public • Published

REST Data Client

Access your REST data APIs with custom ad-hoc queries that can be cached and reused. This package and its corresponding server component module rest-data-api are inspired by the excellent post HTTP/REST Data APIs on the Panda Strike Blog.

Installation

You will also want to set up rest-data-api to create the APIs you want to access with this module.

Node

npm install rest-data-client

Then in your code:

var RestDataClient = require('rest-data-client');

Browser

This package includes a pre-built webpack module for easy inclusion in the browser at dist/rest-data-client.js.

You can also use RawGit to include the latest version of the module for development or production environments.

Development

https://rawgit.com/neodon/rest-data-client/master/dist/rest-data-client.js

Production

https://cdn.rawgit.com/neodon/rest-data-client/master/dist/rest-data-client.js

Usage

REST Data Client is agnostic to the method you use to make API calls. You only need to give it the url for your rest-data-api setup and define a requestHandler to tell it how to make the calls.

A requestHandler can return a promise or use the resolve and reject callbacks passed to it.

jQuery

var restDataClient = new RestDataClient({
  apiUrl: '/query',
  requestHandler: function(req, resolve, reject) {
    $.ajax({
      method: req.method,
      url: req.url,
      contentType: 'application/json',
      dataType: 'json',
      data: req.body,
      error: function(jqXHR, textStatus, errorThrown) {
        // Do some error handling here and/or
        // after you create a queryTemplate or run a query
        return reject([jqXHR, textStatus, errorThrown]);
      },
      success: function(data, textStatus, jqXHR) {
        return resolve(data);
      }
    });
  }
});

Angular

var restDataClient = new RestDataClient({
  apiUrl: '/query',
  requestHandler: function(req, resolve, reject) {
    return $http({
      method: req.method,
      url: req.url,
      data: req.body
    });
  }
});

Development

Package Sidebar

Install

npm i rest-data-client

Weekly Downloads

1

Version

1.3.0

License

Artistic-2.0

Last publish

Collaborators

  • neodon1014