vue-api-request

Control your API calls by using an amazing component which supports axios and vue-resource
4,076 125
Install
npm install vue-api-request
Latest Version:1.1.7
Vue:2
License:MIT
Last Updated:Dec 7, 2022
Links: GitHub  ·  npm
Maintainer: ftgibran

Vue API Request

Vue API Request

Vue API Request provides a full control on your APIs, making the calls simple, fast and easy to implement. Also, your code will be cleaner and more elegant.

Docs & Demo

Installation

Package is installable via NPM

$ npm i vue-api-request --save

or via Yarn

$ yarn add vue-api-request

or via CDN

<script src="https://unpkg.com/vue-api-request@latest/dist/vue-api-request.min.js"></script>
<link href="https://unpkg.com/vue-api-request@latest/dist/vue-api-request.min.css" rel="stylesheet"/>

It will set window.VueApiRequest as the module.

See example in JSFiddle

Basic Usage

You have to import the library and use as a Vue plugin to enable the functionality globally on all components.

import Vue from 'vue'
import VueApiRequest from 'vue-api-request'
Vue.use(VueApiRequest)

Example

<api-request :resource="apiRequest" v-model="apiResponse">
  My stuffs to be shown when the API loads
</api-request>

Pre Configuration

You may also set your own default configuration, so you don't need to customize every time each ApiRequest component. You are still able to customize a specific component using props.

Example

import Vue from 'vue'
import VueApiRequest from 'vue-api-request'

let options = {
  effect: 'lightSpeedIn',
  resp: 'body.foo.bar',
  spinner: 'DotLoader',
  spinnerColor: 'blue', //or #0000ff
  spinnerPadding: '2em',
  spinnerScale: 1.4,
  onSuccess: resp => {
    console.log('Success', resp)
  },
  onError: resp => {
    alert(`Error: ${resp.message}`)
  }
}

Vue.use(VueApiRequest, options)

The 'options' variable above is equivalent of:

<api-request
  :resource="apiRequest"
  v-model="apiResponse"
  effect="lightSpeedIn"
  resp="body.foo.bar"
  spinner="DotLoader"
  spinner-color="blue"
  spinner-padding="2em"
  :spinner-scale="1.4"
  @success="successEvent"
  @error="errorEvent"
>
  My stuffs to be shown when the API loads
</api-request>

Go to Demo & Docs to further informations.

Contributing

# clone project
git clone https://github.com/ftgibran/vue-api-request.git
cd vue-api-request

# install dependencies
npm install

# serve with hot reload at localhost:8080
npm run dev

# build for production with minification
npm run build

# build for production and view the bundle analyzer report
npm run build --report

# run unit tests
npm run unit

# run e2e tests
npm run e2e

# run all tests
npm test

For detailed explanation on how things work, checkout the guide and docs for vue-loader.

License

MIT Copyright (c) 2017 Felipe Gibran

Related Packages

use-api-vue

AJAX request for Vue 3 using global configuration

2,438 2
@snail-js/api

Decorator-driven, plugin-first HTTP client built on axios. Nest.js-style decorat...

1,760
vue-github-api

A deadly simple Vue.js plugin to consume GitHub API.

754
@ametie/vue-muza-use

Powerful Vue 3 API composable (Muza) with Axios, Auto-Refresh & TypeScript

9,718 13
@aspectus/resource

Composable fetch API interface.

3,395

Version History

Version Released Vue License
1.1.7 ^2.3.3 MIT
1.1.6 ^2.3.3 MIT
1.1.5 ^2.3.3 MIT
1.1.4 ^2.3.3 MIT
1.1.3 ^2.3.3 MIT