JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 10
  • Score
    100M100P100Q29166F
  • License MIT

A simple axios wrapper to make rest api call delightful

Package Exports

  • axios-rest-client

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (axios-rest-client) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Axios Rest

A simple axios wrapper to make rest api call delightful.

Example

const axiosRestClient = require('axios-rest-client')
const api = axiosRestClient({baseUrl: process.env.API_BASE_URL})

// Get all users
api.users.all().then(response => {
  console.log(response.data)
})

// Create new user
api.users.create({
  firstname: 'John',
  lastname: 'Doe'
})

Installation

npm install --save axios-rest-client

axios-rest require axios to work, so you have to install axios

npm install --save axios

How to use it ?

Create your axios rest client

const axiosRestClient = require('axios-rest-client')

const api = axiosRestClient({
  baseUrl: process.env.API_BASE_URL // this is required
  // see axios for other configuration options
})

And that all ! You can start requesting your api

Start by creating endpoint for your resources

// Create multiple resources endpoints
api.endpoints({
  users: 'users',           // /users endpoint
  posts: 'post-resources'  // /post-resources endpoint
})

api.endpoint('users')   // Create /users endpoint

// You can access previously endpoint as attribute
// If the endpoint does not exist it will be created automatically
api.users
api.comments    // get endpoint for comments on /comments

You can then call

api.users.all()               // GET /users
api.users.find(1)             // Get /users/1
api.users.create(data)        // POST /users, body=data
api.users.update(1, data)     // PUT /users/1, body=data
api.users.delete(1)           // DELETE /users/1

If you want to create an api endpoint for a single instance of a collection just call .one(instanceId) on the collection endpoint.

api.users.one(1)  // Create entity endpoint for user with id 1
// or simply do
api.users[1]      // to get the /users/1 endpoint automatically created for you

You can the call

api.users[1].get()        // GET /users/1
api.users[1].post(data)   // POST /users/1, body = data
api.users[1].put(data)    // PUT /users/1, body = data
api.users[1].delete()     // DELETE /users/1