Skip to main content

Command Palette

Search for a command to run...

setup axios in vue application

Updated
4 min read
A

Self taught developer working on Angular, Vue, Typescript, Node JS, MongoDB, Express JS, LoopBack API, Laravel, Laravel Lumen, mysql. write packages for angular/vue. Part time youtuber

Axios is a very powerful client to make http requests. In case we want to use axios in our vue application. We need to follow below mention steps.

execute below command in our vue js application. By using this command axios client will be installed in our application

Please refer to YouTube video to understand in a better way:

npm i --save axios

Now it's time to setup default application configuration in axios client like logged in user token, headers pass from the single place in application. Open main.ts file in src folder and made following changes. First step is to import axios client.

import axios from 'axios'

setup application base url

axios.defaults.baseURL = 'https://yourbaseurl.com'

setup default headers:

axios.defaults.headers = {
  'Authorization': 'Bearer' + ' your token',
  "Content-Type": "application/json",
  };

setup default timeout (in milliseconds) for all the service requests

axios.defaults.timeout = 1000;

setup max response size in byte

axios.defaults.maxContentLength = 1000;

setup max request size in byte

axios.defaults.maxBodyLength = 1000;

setup proxy in case you are behind proxy

axios.defaults.proxy = {
  protocol: 'https',
  host: '127.0.0.1',
  port: 9000,
  auth: {
    username: 'test',
    password: 'test'
  }
};

define service response status. promise will resolve in case service return status as per defined status in our axios configuration otherwise reject

axios.defaults.validateStatus = function (status) {
  return status >= 200 && status < 300;
};

our main.ts file axios configuration will look like as follows:

import axios from 'axios'

axios.defaults.baseURL = 'https://yourbaseurl.com'
axios.defaults.headers = {
  'Authorization': 'Bearer' + ' your token',
  "Content-Type": "application/json",
  };
axios.defaults.withCredentials = true;
axios.defaults.timeout = 1000;
axios.defaults.maxContentLength = 100000;
axios.defaults.maxBodyLength = 100000;
axios.defaults.proxy = {
  protocol: 'https',
  host: '127.0.0.1',
  port: 9000,
  auth: {
    username: 'test',
    password: 'test'
  }
};
axios.defaults.validateStatus = function (status) {
  return status >= 200 && status < 300;
};

now it's time to service call in our application

first step is to import axios client in our component like this:

import axios from "axios";

Now we will call service using axios reference like this

axios
      .get("/users/allusers")
      .then(function (response) {
        console.log(response);
      })
      .catch(function (error) {
        console.log(error);
      })
      .then(function () {
        // execute always
      });

We are passing only module url in our service call because we have configured base url in our axios configuration above. These are the steps we need to follow to setup axios client in our vue application

A
Ashish K5y ago

https://github.com/devashishkumar/vue-axios

2

More from this blog

Angular, TypeScript, Vue, Node JS, Express JS, MongoDB, MongoDB Cloud, PHP, Laravel, Slim Framework, Mysql, JavaScript, PWA

24 posts

I'm a Full Stack Developer, Open Source Contributor, Blogger, npm packages developer, Youtuber. My hobbies are Contribution in open source projects, blogging, develop npm packages, part time youtuber