Перейти к основному содержимому
Version: next

Обзор

Мотивация

Эта библиотека была написана, чтобы упростить жизнь с помощью простого API window.fetch, а не писать из проекта в проект обработки ошибок и валидации ответов. В общем случае нам обычно нужно получить структурированный ответ от бэкэнда и обработать возможные ошибки некорректных данных и статусов - эта библиотека помогает в этом!

Для запросов RestRequest должны в ответе бэкенда присутствовать определенные поля, но для PureRestRequest поля могут быть произвольными. JSONRPCRequest построен по стандарту JSON-RPC без дополнений.

Киллер-фича этой библиотеки - валидация ответов с помощью схем и выбор только нужных полей ответа если нам не нужен полный объект ответа.

Полный список возможностей

  • Написана на Typescript
  • предоставляет валидации ответов
  • Изоморфность запросов (nodejs 8+ и ie11+ браузеры)
  • Выходные файлы библиотеки не собранные - вам нужно собрать их самостоятельно с помощью инструмента сборки (webpack, rollup, итд)
  • Возможность перевода запрсов в соответствие с i18n
  • Удобное логгирование запросов в браузерную консоль
  • Единый интерфейс для всех типов запросов
  • Сериализация query параметры
  • Таймауты запросов
  • Удобная обработка ошибок (вам больше не нужно использовать try/catch)
  • Возможность отмены запросов
  • Возможность обрабатывать прогресс ответа
  • Возможность выбора необходимых полей в ответе
  • Возможность повторять запросы в случае их ошибки
  • Возможность перехвата ошибочного запроса и получение всей мета информации по нему для дальнейшей обработки пользователем или отправки в сторонний сервис логгирования
Пожалуйста, ознакомьтесь с примерами

Обратите внимание

  • Тело запроса будет сериализовано в JSON если данные тела не в формате FormData

  • Если нужна поддержка ie11 - установите пакеты ниже и подключите их в ваш проект

import "abortcontroller-polyfill/dist/polyfill-patch-fetch";
import "whatwg-fetch";