Обработка параметров 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 #
Необходимо расширить первую лабораторную работу возможностями по работе с редактированием и фильтрацией данных.