axios-actions icon indicating copy to clipboard operation
axios-actions copied to clipboard

Bundle endpoints as callable, reusable services

Axios Actions

Bundle endpoints as callable, reusable services

Abstract

Axios Actions comprises a small set of classes which collate URLs or URL request configs as callable actions.

First, define your endpoints:

const actions = {
  <action>: '<url>',
  <action>: '<config>',
  ...
}

Then, encapsulate them as one of the built-in services:

const service = new <ApiClass>(axios, actions)

Finally, call them:

service
  .<action>(<data>)
  .then(<handler>)

This service-based approach:

  • removes brittle configuration from components and stores
  • encapsulates additional logic (such as load state and handlers) within the service
  • ensures application code stays simple and semantic
  • provides a dedicated layer for API interaction

There are lots of other goodies in the library which take the drudgery out of working with APIs!

Documentation

Start reading:

  • Quick start
  • Full docs

Next steps

Demos:

  • axios-actions/demo

Installation:

npm i -S axios-actions