@dadi/api-wrapper-core

Core high-level methods for interacting with DADI API

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
@dadi/api-wrapper-core
264.2.22 years ago6 years agoMinified + gzip package size for @dadi/api-wrapper-core in KB

Readme

DADI API wrapper (core)
Core high-level methods for interacting with DADI API

npm (scoped) Build Status JavaScript Style Guide

Overview

DADI API is a high performance RESTful API layer designed in support of API-first development and the principle of COPE.
This package exposes a set of chainable methods that allow developers to compose complex read and write operations using a simplistic and natural syntax, providing a high-level abstraction of the REST architectural style.
It can be used as a standalone module to generate request objects containing information about the HTTP verb, URL and payload, or used in conjunction with DADI API Wrapper to provide a full-featured API consumer, capable of handling authentication and the HTTP communication.

Getting started

  1. Install the @dadi/api-wrapper-core module:
```shell
npm install @dadi/api-wrapper-core --save
```
  1. Add the library and configure the API settings:
```js
const APIWrapper = require('@dadi/api-wrapper-core')

const api = new APIWrapper({
  uri: 'http://api.example.com',
  port: 80,
  property: 'test'
})
```
  1. Make a query:
```js
// Example: getting all documents where `name` contains "john" and age is greater than 18
const requestObject = api
  .in('users')
  .whereFieldContains('name', 'john')
  .whereFieldIsGreaterThan('age', 18)
  .find()
```

Methods

See the documentation on the main package.

Defining a callback

By default, calling a terminator will return a request object, which is a plain JavaScript object formed of method, uri and, optionally, body. Alternatively, you can choose to specify what exactly terminators will return, by defining a callback that will be executed before they return. This callback will receive the request object as an argument, giving you the option to modify it or wrap it with something else.
A callback is defined by setting a callback property on the options object used to initialise API wrapper.
const APIWrapper = require('@dadi/api-wrapper-core')

const api = new APIWrapper({
  uri: 'http://api.example.com',
  port: 80,
  property: 'test',
  callback: function(requestObject) {
    // This callback will return a JSON-stringified version
    // of the request object.
    return JSON.stringify(requestObject)
  }
})