В этом курсе мы изучим процесс создания REST API с использованием Fastify, современного и быстрого веб-фреймворка для Node.js. Мы начнем с подготовки проекта: настройки окружения, установки необходимых зависимостей и подготовки базы данных. Далее разберем основные принципы REST и научимся правильно структурировать ресурсы API, управлять их взаимосвязями и работать с различными форматами данных.
Одним из ключевых аспектов курса станет использование OpenAPI и TypeSpec для описания и документирования нашего API. Это обеспечит легкость поддержки и интеграции с другими системами. В ходе курса мы рассмотрим два подхода к разработке API: Code First и API First.
Мы также научимся валидировать, фильтровать и преобразовывать входные данные. Важным аспектом курса станет использование JWT токенов для аутентификации и принципы авторизации, что обеспечит защиту данных пользователей и ограничит доступ к ресурсам API.
На примере эталонных REST API, таких, как GitHub API, мы разберем, как применять полученные знания на практике. Мы также рассмотрим, как REST API обеспечивает слабую связанность между клиентом и сервером, что позволяет им развиваться независимо друг от друга, и как правильно использовать HTTP методы, кэширование, URI и стандартные коды ответов.
Курс охватит такие ключевые аспекты, как создание CRUD для управления ресурсами, реализация вложенных ресурсов, обеспечение идемпотентности HTTP методов, передача метаданных и версионирование API. Эти знания помогут вам создать API, которое может эволюционировать без нарушения работы существующих клиентов.
В конце курса у вас будет четкое понимание всех этапов разработки REST API на базе Fastify, и вы сможете применять эти знания для создания профессиональных и качественных API в своих проектах, используя наиболее подходящий подход к разработке, будь то Code First или API First.
Для полного доступа к курсу нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.