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";