Вы когда-нибудь задумывались о том, как работают REST API? Вы пытались понять все компоненты, необходимые для создания REST API ? Вы разработчик Java / PHP / Perl / Python, но сейчас интересуетесь Node.js? Вы хотели знать, как работают реляционные базы данных? Или как работает NoSQL? Чем они отличаются - или даже похожи? Вы слышали о веб-токенах JSON и аутентификации на основе токенов, но не знаете, как они работают? Вы слышали последнее модное слово GraphQL, но не знаете, как оно работает?
Не смотрите дальше - этот курс отвечает на все ваши вопросы! Он обучает основам REST API, включая его архитектуру и методы HTTP, добавлению поддержки реляционной базы данных и / или NoSQL, а также покрывает аутентификацию через токены и GraphQL. В качестве бонуса в Разделе 10 (Приложение B) есть целый раздел о том, как реализовать REST API в примере приложения, включая аутентификацию для пользователей.
Курс разбит на 10 отличительных разделов.
РАЗДЕЛ 1 - Введение в REST
Обзор истинных основ REST - включая архитектуру, методы HTTP и коды состояния, а также обсуждается, почему вы хотели бы сначала разработать REST API.
РАЗДЕЛ 2 - Наш первый REST API в Node.js
В этом разделе рассматриваются основы REST API и реализуется простая служба API с использованием Node.js без каких-либо внешних зависимостей (да, он использует только некоторые из встроенных модулей Node.js)
РАЗДЕЛ 3 - Express- универсальный веб-сервер для Node.js
В этом разделе мы узнаем о Express - самой популярной платформе веб-сервера для Node.js. Мы узнаем, как его установить, как обрабатывать маршруты, как использовать объект Router для продвинутой маршрутизации. Позже мы также рассмотрим, как работать со статическими файлами, как использовать строки запроса и параметры запроса - мы реализуем эти функции позже, когда создадим REST API.
РАЗДЕЛ 4 - Системы управления реляционными базами данны
Очень важно понять хранение данных, прежде чем мы сможем создать функциональный REST API. В этом разделе показано, как работать с системами управления реляционными базами данных (точнее, с MySQL), а также рассказывается, как работают SQL-запросы и как манипулировать данными.
РАЗДЕЛ 5 - Создание REST API с использованием реляционной базы данных
В этом разделе курса мы узнаем о создании экземпляра REST API, в котором мы будем использовать ранее собранные знания о реляционных базах данных. В курсе используется MySQL, собственный драйвер MySQL, но позже мы переходим на Knex.js, который является SQL Query Builder для Node.js.
РАЗДЕЛ 6 - Создание REST API с использованием NoSQL
В этой части курса рассматривается NoSQL - он знакомит слушателя с базами данных NoSQL, сравнивает их с реляционными базами данных. В этом разделе мы узнаем, как использовать MongoDB (самая популярная база данных NoSQL) и использовать ее для создания другого REST API.
РАЗДЕЛ 7 - Защита REST API
Безопасность играет важную роль в REST API. В этом разделе мы узнаем, как работает аутентификация на основе токенов, мы познакомимся с JSON Web Tokens (JWT) и возьмем ранее созданные два REST API - один, который использует реляционную базу данных, а другой - базу данных NoSQL. добавить поддержку JWT для обоих.
РАЗДЕЛ 8 - GraphQL
GraphQL набирает популярность и часто рассматривается как конкурент REST API. В этом разделе мы рассмотрим основы GraphQL и увидим, как он может дополнить существующий REST API. Видео в этом разделе не только показывают нам основы, но также показывают, как добавить ранее реализованную аутентификацию в GraphQL.
Раздел 9 (Приложение А) - Инструменты
В этом разделе есть одно видео, которое знакомит с Insomnia - инструментом, который можно увидеть на протяжении всего курса для тестирования REST API.
Раздел 10 (Приложение B) - Создание приложения
Хотя этот раздел не относится строго к API-интерфейсам REST, в этом разделе рассказывается, как создать приложение для использования API-интерфейса REST, созданного в предыдущих разделах курса. Он знакомит нас с CORS и его важностью, описывает переменные среды и, наконец, создает рудиментарное приложение, которое позволяет нам регистрировать пользователей, входить / выходить из системы и проверять секретный профиль - по сути, он реализует наш API, включая аутентификацию JWT.