fetch-rest-connect
TypeScript icon, indicating that this package has built-in type declarations

3.2.5 • Public • Published

REST-API caller using fetch

Build Status FOSSA Status

Call any REST-API in the browser.

How to use

Install

You can install this package via NPM

npm install --save fetch-rest-connect

Using yarn

yarn add fetch-rest-connect

Usage

All methods used provided by the package are asynchronous.

import Fetcher from 'fetch-rest-connect'
const CONTENT_ENDPOINT = 'content'
 
const fetcher = new Fetcher({
  apiUrl: `/api`,
  endpoints: {
    [CONTENT_ENDPOINT]: '/content/',
  },
  options: { // optional
    credentials: 'include',
  }
})
 
const getContent = async () => {
  try {
    const data = await fetcher.getAll(CONTENT_ENDPOINT)
 
    return data
  } catch (error) {
    throw new Error(error)
  }
}

Your API endpoints can also hold any kind of variable:

const endpoints = {
  [CONTENT_ENDPOINT]: '/article/:articleId/content/'
}

When calling the fetcher you can now pass uriParams to fill the vars in the route.

const articleId = `foo`;
const uriParams = {
  articleId,
};
const data = await fetcher.getAll(CONTENT_ENDPOINT, uriParams)

Methods

All methods build upon the main method fetch:

  • fetch, Fetch entry point
    • action: string, Action or endpoint you want to call, required
    • id: String, If you want to call a specific ID of an endpoint, you can use this field
    • uriParams: Object, If the endpoint has variables in it you can use this object to fill them
    • additionalQueryParams: object, Pass get parameters for the request
    • data: Object, Data you want to send with the request
    • method: ENUM('GET' | 'PUT' | 'POST' | 'DELETE') = 'GET', Specific method you want for your call
    • headers: Object, additional headers for request

Params are the same as above

  • get(action, id, uriParams, additionalQueryParams, headers)
  • getAll(action, uriParams, additionalQueryParams, headers)
  • create(action, data, uriParams, additionalQueryParams, headers)
  • update(action, id, data, uriParams, additionalQueryParams, headers)
  • upsert(action, id, data, uriParams, additionalQueryParams, headers)
  • delete(action, id, uriParams, additionalQueryParams, headers)

License

This library is licensed under MIT

FOSSA Status

Readme

Keywords

none

Package Sidebar

Install

npm i fetch-rest-connect

Weekly Downloads

27

Version

3.2.5

License

MIT

Unpacked Size

38.4 kB

Total Files

47

Last publish

Collaborators

  • drublic