Лучший способ закрепить REST API — собрать что-то небольшое, но настоящее. В этом модуле сделаем простой TODO-клиент: список задач, добавление, удаление, переключение статуса «выполнено». Бэкенд — JSONPlaceholder, который мы знаем с модуля 4. Логики хватит, чтобы прикоснуться ко всем темам курса.
Четыре главы:
- 9.1 — план проекта, разметка страницы, общая утилита для API;
- 9.2 — GET-запрос: загружаем список задач и рендерим в HTML;
- 9.3 — POST и DELETE: добавляем и удаляем задачи с оптимистичным UI;
- 9.4 — UX-мелочи: лоадер, обработка ошибок, пустое состояние, disabled во время запроса.
В конце последней главы будет финальная демка с полным кодом, чтобы можно было сразу пощупать в браузере.
Важное напоминание про JSONPlaceholder. Сервер всё «притворяется»: на POST вернёт правдоподобный ответ, но фактически ничего не сохранит. Поэтому в коде мы делаем оптимистичное обновление: сразу подмешиваем созданную/изменённую задачу в локальное состояние, как будто сервер согласен. На реальном бэке этот же код работал бы «на самом деле» — логика идентичная.