Arquivo Bairro.vue -------------------------------------- <button @click="mensagem(101)">Metodo mensagem</button> <button @click="mensagem(0)">Metodo mensagem</button> <template id="post-list"> <table class="table"> <thead> <tr> <th>id</th> </tr> </thead> <tbody> <tr v-for="(bairro, id) in bairros" :key='id'> <td>{{ bairro.bairro }}</td> </tr> </tbody> </table> </template> </div> </template> <script> import axios from 'axios' export default { data: function() { return { bairros: '', complemento: 'bairros' } }, created: function() { this.mensagem(0); }, methods: { mensagem: function(id) { this.complemento = "bairros"; if (id !== 0) this.complemento = this.complemento + "/" + id; let uri = 'http://meuservidor/api/'+ this.complemento; axios.get(uri).then((response) => { this.bairros = response.data; }) } }, } </script> Interceptor ----------------------- axios.interceptors.request.use(function(config) { console.log("mandei um request de " + config.url); if (config.url.lastIndexOf("refresh") >= 0) { config.headers['Authorization'] = 'Bearer ' + localStorage.getItem("refresh_token") } else { config.headers['Authorization'] = 'Bearer ' + localStorage.getItem("access_token") } return config; }, function (error) { return Promise.reject(error); }); axios.interceptors.response.use(null, (error) => { if (error.config && error.response && error.response.status === 401) { axios({ method: 'post', url: 'http://minhaurl/refreshToken', }).then((response) => { localStorage.setItem("access_token", response.data.dados.access_token); localStorage.setItem("refresh_token", response.data.dados.refresh_token); return axios(error.config); }).catch(function (error) { }); } return Promise.reject(error); });