Giter Club home page Giter Club logo

axios-rest's Introduction

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

axios-rest's People

Contributors

eldomagan avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.