Освоение кодов состояния HTTP: руководство по GET-запросам Axios

Привет, коллега-разработчик! Сегодня мы погружаемся в увлекательный мир GET-запросов Axios и того, как профессионально обрабатывать их коды состояния. Коды состояния HTTP являются важными индикаторами результата запроса, предоставляя ценную информацию об успехе или неудаче вызовов нашего API. В этой статье мы рассмотрим несколько методов получения и обработки этих кодов состояния с помощью Axios, популярной библиотеки JavaScript для выполнения HTTP-запросов.

Давайте начнем!

Метод 1: базовый объект ответа

При выполнении запроса Axios GET мы получаем объект ответа, который содержит различные свойства, включая свойство status. Это свойство содержит код состояния HTTP, возвращаемый сервером. Вот пример:

axios.get('https://api.example.com/data')
  .then(response => {
    console.log(response.status); // Outputs the status code
  })
  .catch(error => {
    console.error(error);
  });

Обратившись к свойству statusобъекта ответа, мы можем получить код состояния и использовать его для дальнейшей обработки.

Метод 2: обработка ошибок с помощью перехватчиков ответов

Axios позволяет нам определять перехватчики ответов, которые представляют собой функции, которые выполняются при каждом получении ответа. Мы можем использовать перехватчики для обработки кодов состояния и выполнения соответствующих действий. Вот пример:

axios.interceptors.response.use(
  response => {
    console.log(response.status); // Outputs the status code
    return response;
  },
  error => {
    console.error(error);
    return Promise.reject(error);
  }
);

Определив перехватчик ответа, мы можем легко получить доступ к коду состояния и выполнить пользовательскую обработку ошибок или операции регистрации.

Метод 3: использование функции validateStatus

Библиотека Axios предоставляет функцию validateStatus, которая позволяет нам определить нашу собственную логику для определения того, считается ли код состояния успешным или ошибочным. По умолчанию Axios считает коды состояния в диапазоне 200–299 успешными. Вот пример использования validateStatus:

axios.get('https://api.example.com/data', {
  validateStatus: function (status) {
    return status >= 200 && status < 300; // Consider 2xx codes as valid
  }
})
  .then(response => {
    console.log(response.status); // Outputs the status code
  })
  .catch(error => {
    console.error(error);
  });

Настроив функцию validateStatus, мы можем обрабатывать коды состояния в соответствии с нашими конкретными требованиями.

Метод 4: синтаксис Async/Await

Если вы предпочитаете работать с синтаксисом async/await, Axios предоставляет для него отличную поддержку. Вот пример получения кода состояния с помощью async/await:

async function fetchData() {
  try {
    const response = await axios.get('https://api.example.com/data');
    console.log(response.status); // Outputs the status code
  } catch (error) {
    console.error(error);
  }
}
fetchData();

Использование синтаксиса async/await позволяет создать более краткую и читаемую структуру кода при работе с асинхронными операциями.

И вот оно! Мы исследовали несколько методов получения и обработки кодов состояния в запросах Axios GET. Понимая эти методы, вы будете хорошо подготовлены к работе с различными сценариями и созданию надежных механизмов обработки ошибок в своих веб-приложениях.

Помните, что знание кодов состояния HTTP необходимо для обеспечения бесперебойного взаимодействия с пользователем и обеспечения надежности ваших API.

Удачного программирования!