Поговорим о подходе с использованием инструмента TRPC https://trpc.io/, почему данный подход удобен, что такое End-to-end typesafe API. И как сделать свой собственный пакет который позволит шарить логику в рамках проекта. Дополнительно добавим возможность работы по классическому REST для необходимых маршрутов. Так же посмотрим как работает авторизация, и можно ли это все покрыть тестами.
Поговорим о проблеме
— Использование в основном только GET
— Дублирование кода (boilerplate-код)
— Консистентное обновление
— Сложность типизации REST API
Поговорим о решении
— Единая кодовая база
— Автоматическая типизация
— Гибкость подхода
— Принудительная валидация
— Упростить написание тестов
Посмотрим на более продвинутые возможности
— Абстракция над провайдером данных
— Базовая авторизация с middleware и печеньками
— И что там с тестами пакета?
— Посмотрим на клиент
Поговорим об "Ограничения и подводные камни"
— Не подходит для публичных API
— Сложности с кэшированием
— Привязка к TypeScript и Zod
Вместо заключения и выводы
— Упрощаем жизнь разработчикам
— Меньше boilerplate-кода
— tRPC — это не замена REST
— Пишите свои пакеты
— Для каждого решения есть свой инструмент