Блог джуниора. CRUD операции, Mongoose ODM
небольшие инсайты и техники для SPA
Задачи
В прошлый раз мы сделали небольшое приложение, которое позволяет регистрироваться пользователям. У близких к веб-программированию
людей все операции, описанные в предыдущем посте заняли бы минут 15. Этот пост продолжает серию обучающих статей для джуниоров и будет
полезен лишь им.
Итак, задачи на сегодня:
- Добавить
API endpoint
для моделиUser
, используя конвенциюRESTful
- Добавить суперюзера для работы в админке
- Добавить админку
- Добавить листинг зарегистрированных пользователей и возможность их удаления
Организация API-endpoint
Есть несколько технологий по созданию API используя Mongoose
. Можно использовать готовые модули, но нам нужно разобраться как же это работает,
поэтому сделаем все с нули сами. Здесь следует отметить, что можно просто дать прямой доступ ко всем API интерфейсу Mongoose, и в целом это неплохая методика,
которая позволит легче использовать один и тот же код на клиенте и на сервере, но об этом в других постах.
Итак, начнем мы с простого. Добавляем методы в models/User.js
и настраиваем соответствующие руты:
|
|
|
|
По аналогии можно будет организовывать API и для других моделей
Добавление суперюзера в SPA
Проделаем данную операцию при инициализации модели User
|
|
Админка
То, как сверстать шаблоны я описывать не буду - это достаточно простое занятие.
Мы добавим рут и соответствующий контроллер. Вход будет разрешен только супер-пользователю.
Он сможет просматривать список зарегистрированных пользователей и удалять их.
|
|
Модифицируем старую страницу, здесь есть пример того как ограничивать доступ к определенным частям приложений только администратору.
Нам следует добавить аналогичные ограничения в GET
, DELETE
запросы у модели Users
.
|
|
|
|
|
|
Выводы
На примере данных задач мы научились делать следующие вещи:
- Создавать
RESTful API
- Разграничивать доступ к функционалу приложения
- Вешать обработчики событий и отправлять запросы к серверу
- Немного манипуляций с DOM
Читайте так же статьи по теме: