Содержание курса
Модуль Spring REST: углубленные темы
23 урока
1.
Что стоит за концепцией REST
↗
2.
Практика, Задание 1 - REST-запросы, Часть 1/2
↗
3.
Практика, Задание 1 - REST-запросы, Часть 2/2
↗
4.
События в Spring
↗
5.
Практика, Задание 2 - Слушатели событий, Часть 1/2
↗
6.
Практика, Задание 2 - Слушатели событий, Часть 2/2
↗
7.
ETag-маркеры
↗
8.
Практика, Задание 3 - "Неглубокие" ETag'и
↗
9.
"Глубокие" ETag'и
↗
10.
Практика, Задание 4 - "Глубокие" ETag'и
↗
11.
События в Spring Data REST
↗
12.
Практика, Задание 5 - События в Spring Data REST
↗
13.
HATEOAS в Spring
↗
14.
Практика, Задание 6 - Реализация принципов HATEOAS
↗
15.
Клиент RestTemplate
↗
16.
Клиент WebClient
↗
17.
Практика, Задание 7, Часть 1/2 - RestTemplate
↗
18.
Практика, Задание 7, Часть 2/2 - WebClient
↗
19.
Клиент Feign
↗
20.
Практика, Задание 8 - FeignClient
↗
21.
Документирование согласно OpenAPI
↗
22.
Практика, Задание 9 - Swagger
↗
23.
Альтернативы Swagger'у
↗
Отображение и валидация бинов
18 уроков
1.
Ограничение данных, передаваемых пользователю
↗
2.
Работа с DTO
↗
3.
Обнуление полей
↗
4.
Работа с аннотациями Jackson
↗
5.
Практика, Задание 1 - Jackson
↗
6.
Проекции и фрагменты
↗
7.
Практика, Задание 2 - Проекции
↗
8.
Знакомство с библиотекой MapStruct
↗
9.
Маппирование одноименных полей
↗
10.
Маппирование разноименных полей и коллекций
↗
11.
Практика, Задание 3 - Работа с MapStruct
↗
12.
@AfterMapping / @BeforeMapping и выражения в MapSruct
↗
13.
defaultValue, dateFormat, abstract class mapper, merging, "uses"
↗
14.
Рекурсивные связи в структурах данных
↗
15.
Практика, Задание 4 - Работа с зацикленными структурами данных
↗
16.
Валидация бинов: концепция
↗
17.
Валидация параметров запроса
↗
18.
Практика, Задание 5 - Валидация с условиями
↗
Транзакции в Spring
15 уроков
1.
Что такое "транзакция"
↗
2.
Транзакционный API
↗
3.
Концепция и уровни изоляции транзакций
↗
4.
Виды аномалий в БД
↗
5.
Изоляция "моментальными снимками"
↗
6.
Распространение транзакций
↗
7.
Практика, Задание 1 - Демонстрация вариантов Propagation
↗
8.
Откат транзакций
↗
9.
Практика, Задание 2 - Демонстрация noRollbackFor
↗
10.
Логические и физические транзакции
↗
11.
Практика, Задание 3 - Демонстрация логической транзакции
↗
12.
Оптимическая и пессимистическая блокировки
↗
13.
Практика, Задание 4 - Управление версиями и блокировками
↗
14.
"Золотое правило" Spring-транзакций
↗
15.
Практика, Задание 5 - Демонстрация "Золотого правила"
↗
Аутентификация и авторизация JWT-токенами, стандарт OAuth2
21 урок
1.
Чем аутентификация отличается от авторизации
↗
2.
Варианты аутентификации
↗
3.
Почему MD5 никуда не годится
↗
4.
Базовая HTTP-аутентификация
↗
5.
Аутентификация на основе форм
↗
6.
Идея токенов
↗
7.
Знакомство с JWT-токенами
↗
8.
Шифрование и электронные подписи
↗
9.
Полезная нагрузка
↗
10.
Процедура аутентификации и авторизации
↗
11.
Что такое OAuth2
↗
12.
Виды токенов
↗
13.
Схема "Пароль"
↗
14.
Схема "Код авторизации"
↗
15.
Схема "Учетные данные клиента"
↗
16.
Схема "Имплицитное разрешение"
↗
17.
Практика, Часть 1 - Обзор учебного задания
↗
18.
Практика, Часть 2 - Работа с проектом AuthService
↗
19.
Практика, Часть 3 - Работа с проектом CardService
↗
20.
Практика, Часть 4 - Работа с проектом ClientService
↗
21.
Практика, Часть 5 - Решение задачи про преобразование строки
↗