Автор оригинала: Osinachi Chukwujama.
Вступление
Adonisjs – это Framework MVC Nodejs для построения приложений и API. В этой серии мы будем строить API калькулятора CGPA с Adonisjs. Мы будем использовать Adonis v4.1 в этой серии.
Предпосылки
- Начинающие знания в JavaScript и Nodejs
- Основное понимание API на отдых
- Знакомство в задней части развития Вот переподготовка на oddjs и appis
Обзор API
API позволяет потребителям
- Выполнить операции CRUD на курсах
- Рассчитайте CGPA пользователя на основе сохраненных курсов
Маршруты
Автор
/регистр | ПОЧТА | Зарегистрируйте новый пользователь |
/авторизоваться | ПОЧТА | Генерирует новый JWT для пользователя |
Пользователь
/Профиль пользователя | ПОЛУЧАТЬ | Вернуть профиль пользователя |
/Профиль пользователя | ПЛАСТЫРЬ | Обновления профиля пользователя |
/ Пользователь / адрес электронной почты | ПЛАСТЫРЬ | Обновления электронной почты пользователя |
/пользовательский пароль | ПЛАСТЫРЬ | Обновляет пароль пользователя |
Курсы
/ Курсы | ПОЧТА | Создает курс |
/ Курсы? Уровень = & семестр = | ПОЛУЧАТЬ | Вернуть курсы пользователя. |
/ Курсы /: ID | ПОЛУЧАТЬ | Возвращает курс |
/ Курсы /: ID | ПЛАСТЫРЬ | Обновляет курс |
/ Курсы /: ID | УДАЛИТЬ | Удаляет курс |
Совокупность
/ совокупность | ПОЛУЧАТЬ | Вернуть кумулятивный пользователь |
/ совокупность | ПЛАСТЫРЬ | Обновления совокупных пользователей |
Начиная
У Adonisjs есть CLI. Этот CLI полезен для всех вещей, от миграции базы данных для тестирования. Обратитесь к документации здесь для получения дополнительной информации.
Монтаж
Откройте терминал и установите Adonis CLI
npm i -g @adonisjs/cli
Настройка нового проекта
adonis new cgpa-api
После установки измените каталог в проект и запустите сервер Dev
cd cgpa-api adonis serve --dev
Структура базы данных
Диаграмма выше показывает структуру базы данных и отношения. Все отношения 1: 1 (один к одному), кроме пользователя для курсов, которые представляют собой 1: N (один ко многим). Это означает, что пользователь может иметь несколько курсов.
Конфигурация базы данных
Adonisjs – одна из немногих кадров Nodejs с первоклассной поддержкой реляционных баз данных. Мы использовали SQLite в этой серии. Если вы предпочитаете использовать MySQL или PostgreSQL, обратитесь к Документы Для настройки инструкции. Установите SQLite3.
npm install sqlite3 --save
Миграции
Мы вернемся к состоянию нашей базы данных, используя миграции. Если вы проверяете База данных/миграции
Каталог, вы найдете две файлы миграции:
1503248427885_user.js 1503248427886_token.js
Файл миграции пользователя имеет два метода: вверх
и вниз
Отказ Когда мы работаем нашими миграциями, ADonis запускает код в пределах вверх
Способ всех ожидающих файлов миграции. Если мы возвращаем наши миграции, Adonis управляет вниз
метод. В этом случае метод вниз падает Пользователи
Таблица. В настоящее время наша база данных пуста. Мы не запускали наши миграции. Запустите эту команду, чтобы увидеть ожидающие миграции
adonis migrations:status # Output ┌─────────────────────┬──────────┬───────┐ │ File name │ Migrated │ Batch │ ├─────────────────────┼──────────┼───────┤ │ 1503248427885_user │ No │ │ ├─────────────────────┼──────────┼───────┤ │ 1503248427886_token │ No │ │ └─────────────────────┴──────────┴───────┘
Изменение схемы таблицы пользователей
Перед запуском миграций нам нужно будет добавить несколько столбцов на Пользователи
стол, изменяя 1503248427885_USER.JS
Миграционный файл. Схема таблицы для пользователей показывает поля первого значения и фамилия. Добавьте эти строки в метод UP 1503248427885_USER.JS
Отказ
table.string('firstName', 80).nullable() table.string('lastName', 80).nullable()
Ваш вверх
Метод должен быть похож на.
up () { this.create('users', (table) => { table.increments() table.string('username', 80).notNullable().unique() table.string('email', 254).notNullable().unique() table.string('firstName', 80).nullable() table.string('lastName', 80).nullable() table.string('password', 60).notNullable() table.timestamps() }) }
Ваша первая миграция
Запустите свои миграции, используя
adonis migration:run # output: migration duration may vary migrate: 1503248427885_user.js migrate: 1503248427886_token.js Database migrated successfully in 1.32 s
Большая работа до сих пор. В следующем посте мы будем смотреть в аутентификацию, маршрутизацию, контроллеры и т. Д. Перед продвижением, давайте рассмотрим то, что мы узнали.
Реконструировать
- Что такое Адонисс
- Как настроить проект Adonisjs
- Какая миграция базы данных Пожалуйста, дайте обратную связь на почте, если вы столкнулись с любыми проблемами. Спасибо за кодирование вместе. Adios ✌🏾🧡.