Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

197
Visualizações
¿Cómo puedo usar los interceptores Axios para agregar algunos encabezados a las respuestas?

En mi aplicación Reactjs, quiero agregar un interceptor que pueda agregar algunos encabezados a algunas respuestas de back-end

Entonces, probé esto:

 export default function App() { axios.interceptors.response.use( (config)=> { config.headers['myheader'] = 'myvalue'; // <-- THIS IS MY CUSTOM HEADERS return config; }, (error) => { // ON ERREOR }) ...... );

Y supongo que así mi encabezado se agregaría en cada respuesta de back-end. Pero eso no parece funcionar.

Sugerencias ??

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Añadir un interceptor de solicitudes

 axios.interceptors.request.use( config => { const token = localStorage.getItem('auth_token'); if (token) { config.headers['Authorization'] = 'Bearer ' + token; } config.headers['Content-Type'] = 'application/json'; return config; }, error => { Promise.reject(error) });

Agregar un interceptor de respuesta

 axios.interceptors.response.use((response) => { // block to handle success case return response }, function (error) { // block to handle error case const originalRequest = error.config; if (error.response.status === 401 && originalRequest.url === 'http://dummydomain.com/auth/token') { // Added this condition to avoid infinite loop // Redirect to any unauthorised route to avoid infinite loop... return Promise.reject(error); } if (error.response.status === 401 && !originalRequest._retry) { // Code inside this block will refresh the auth token originalRequest._retry = true; const refreshToken = 'xxxxxxxxxx'; // Write the logic or call here the function which is having the login to refresh the token. return axios.post('/auth/token', { "refresh_token": refreshToken }) .then(res => { if (res.status === 201) { localStorage.setItem('auth_token',res.data); axios.defaults.headers.common['Authorization'] = 'Bearer ' + localStorage.getItem('auth_token'); return axios(originalRequest); } }) } return Promise.reject(error); });

Haga clic aquí para ver el tema en detalle.

about 4 years ago · Juan Pablo Isaza Relatório

0

Prueba esto:

 axios.interceptors.response.use( function (response) { const edited_response = response; edited_response.headers["custom_header"] = "test"; return edited_response; }, function (error) { // Any status codes that falls outside the range of 2xx cause this function to trigger // Do something with response error return Promise.reject(error); } );
about 4 years ago · Juan Pablo Isaza Relatório

0

Oye, la razón por la que no funciona porque estás llamando al método de uso para actualizar los encabezados de respuesta, pero para poder enviar encabezados a tu API de back-end, debes llamar al método de uso desde el objeto de solicitud . Así es como puedes hacerlo:

 axios.interceptors.request.use( function handleRequestInterceptor(config) { const modifiedConfig = { ...config, headers: { myheader: "myvalue", <=== your custom headers like auth etc. ...config.headers, }, }; return modifiedConfig; }, function handleRequestInterceptorError(error) { return Promise.reject(error); } );
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda