Lab / AdonisJS

AdonisJS: Простое API с валидацией полей

В этой заметке я хочу поделится простым советои быстрого запуска вашего проекта на AdonisJS. Я покажу как создать роут API с простой валидацией.

Установка

Прежде всего, давайте установим AdonisJS. Откройте терминал и выполните следующую команду:

npm install -g @adonisjs/cli

Это установит глобально на вашей машине AdonisJS CLI, чтобы вы могли использовать его для создания новых проектов AdonisJS и запуска команд.

Затем создадим новый проект AdonisJS. Выполните следующую команду:

adonis new simple-api && cd simple-api

Это создаст новый проект AdonisJS в директории с именем simple-api.

Создание маршрута

Теперь давайте создадим маршрут с простой валидацией. Откройте файл start/routes.js в вашем редакторе кода и добавьте следующий код:

const Route = use('Route')
const { validate } = use('Validator')

Route.post('/users', async ({ request, response }) => {
  const validationRules = {
    username: 'required|unique:users,username',
    email: 'required|email|unique:users,email',
    password: 'required|min:8'
  }

  const validation = await validate(request.all(), validationRules)

  if (validation.fails()) {
    return response.badRequest(validation.messages())
  }

  const user = await User.create(request.all())
  return response.created(user)
})

Давайте разберем, что делает этот код. Сначала мы импортируем модули Route и Validator. Затем мы определяем маршрут POST по адресу /users. Этот маршрут ожидает три параметра: username, email и password.

Мы определяем правила валидации для этих параметров с помощью функции validate из модуля Validator. Правила такие:

username: Обязательно и должно быть уникальным в таблице users.

email: Обязательно, должно быть действительным адресом электронной почты и должно быть уникальным в таблице users.

password: Обязательно и должно иметь минимальную длину 8 символов.

Затем мы используем функцию validate для проверки входящего запроса на соответствие этим правилам. Если проверка не проходит, мы возвращаем ответ с кодом 400 Bad Request и сообщениями об ошибках валидации. Если проверка проходит, мы создаем нового пользователя и возвращаем ответ с кодом 201 Created и только что созданным пользователем.

Запуск приложения

Теперь давайте запустим приложение в режиме разработки и с отслеживанием изменений в коде. Запускаем команду:

node ace serve --watch

Если вы хотите протестировать свое приложение, я предлагаю использовать Postman. Это инструмент для тестирования API, который позволяет создавать запросы и просматривать ответы в простом интерфейсе.

Вы создали маршрут с простой валидацией в AdonisJS. Теперь вы можете протестировать свой маршрут, отправив POST-запрос на /users с необходимыми параметрами. Если параметры проходят проверку валидации, будет создан новый пользователь в ответ вы получите json обьект с данными пользователя.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарий ниже. Счастливого кодинга! 🤗