Pular para o conteúdo principal

Interceptors

Os Interceptadores (Interceptors) são funcionalidades do axios, e servem para interceptar requisições e respostas, e fazer alguma ação antes de prosseguir.

Utilizamos interceptors de request para obter o token do usuário no Local Storage e definir nos headers de Authorization automáticamente. Ele é definido da seguinte forma:

API_CLIENT.interceptors.request.use((config: AxiosRequestConfig) => {
// Funções e ações desejadas antes de enviar uma requisição
...
}

Os interceptors de response cuidam do tratamento de erros, evitando que precisemos tratar em cada página ou requisição. Eles são feitos da seguinte forma:

API_CLIENT.interceptors.response.use(undefined, async (err) => {
//Ações desejadas para tratas respostas
...
//Função criada abaixo para cuidar de respostas
responseHandler();

const responseHandler = (response: AxiosResponse) => {
// Para cuidar de cada código de resposta, os utilizamos dentro de um Switch. Assim,
// podemos lidar como for necessário para cada código de resposta.
switch (response.status) {
case 403:
...
...
}
}
}