Обработка параметров HTTP-запроса #
В рамках данного раздела ученики должны научиться корректно обрабатывать данные, которые приходят от пользователя:
- По возможности использовать аргументы по умолчанию, если применимо.
 - Переход на страницу отсутствия данных, если переданные параметры не могут быть обработаны.
 - Корректная работа с формами.
 - Работа с хранилищем данных.
 
Дополнительные знания, вне курса:
- Статический анализ с помощью ktlint / detekt
 
Необходимые знания:
- Детали работы с параметрами запроса в http4k.
 - Детали настройки навигации в http4k, получение данных в URL-запросе.
 - Типичные сценарии взаимодействия пользователя с веб-приложением.
 - Коды HTTP-запросов.
 
Лекция № 4: Запросы на изменение данных #
- Отличие обработки GET-данных от запросов на изменение
 - Различие POST, PUT и DELETE-запросов
 - Сценарии по выполнению типичных операций: добавление, удаление и редактирование
 - HTML-формы на клиенте
 - HTML-формы на сервере
 - Lens и контракты
 - Архитектурное разделение приложения на части
 
Практика № 9: Статический анализ исходного кода приложения #
- Добавление detekt и ktlint в зависимости приложения
 - Конфигурация средств проверки для курса
 - Улучшение кода с последней лабораторной или последних практик
 
Практика № 10: Работа с хранилищем данных #
- Инициализация
 - Неизменяемость элементов
 - Добавление элементов, извлечение элементов
 
Практика № 11: Добавление новых элементов #
- Описание HTML-форм
 - Низкоуровневая обработка HTML-форм на сервере
 - Реализация базового цикла: показ формы, возврат формы с заполненными полями при ошибке
 
В рамках практики необходимо реализовать добавление новых элементов в список
Лекция № 5: Расширенные варианты передачи запросов в приложение #
- Параметры в запросе
 - Параметры в пути к странице с данными
 - Редактирование через GET-запросы
 - Отображение через POST-запросы
 - Передача данных внутри документа?
 
Практика № 12: Реализация валидации форм и редактирование элементов #
- Валидация с помощью механизма lens
 - Изначальное заполнение формы данными
 - Уменьшение дублирования при выполнении данной операции
 
Практика № 13: Постраничный вывод списка #
- Организация подсчёта страниц
 - Организация передачи информации о нужной страницы через параметр
 - Передача информации о странице внутри URL
 
Защита лабораторной работы № 2 #
Необходимо расширить первую лабораторную работу возможностями по работе с редактированием и фильтрацией данных.