Skip to content

Instantly share code, notes, and snippets.

@NomiasSR
Created July 28, 2018 21:21
Show Gist options
  • Save NomiasSR/01f3b37f5312766c8e5295b573ea3c0d to your computer and use it in GitHub Desktop.
Save NomiasSR/01f3b37f5312766c8e5295b573ea3c0d to your computer and use it in GitHub Desktop.
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);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment