Добро пожаловать в сегодняшнюю статью. Мы создадим API входа в систему и регистрации.

Поскольку эта статья посвящена Rest API, перед тем, как приступить к созданию Rest API, нам нужно знать, что такое Rest API и API.

Проще говоря, API - это как заказ еды в Интернете. Если пользователь API - это человек, который заказывает еду, которая доступна в меню, а ресторан действует как сервер. Курьер работает как API. И курьер доставляет еду, и аналогично API предоставляет услуги конечным пользователям.

Не все API-интерфейсы являются API-интерфейсами Rest, но все API-интерфейсы Rest являются API-интерфейсами. Rest API в основном используется при разработке мобильных приложений, где такие API-интерфейсы содержат только внутреннюю логику и запускаются на сервере, чтобы уменьшить выполнение на мобильных устройствах пользователей и работают на стороне сервера. Только так наше приложение будет работать быстрее, потребляет меньше энергии и улучшает взаимодействие с пользователем.

Итак, достаточно о том, что такое REST API, и давайте непосредственно поговорим о том, как создать REST API. Перед этим нам нужно будет установить node.js, Postman и MongoDB.

Для установки Node.js: - https://www.guru99.com/download-install-node-js.html

Для установки POST Man: - https://www.toolsqa.com/postman/download-and-install-postman/

Для установки MongoDB: - https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/

После того, как вы закончите установку, вам нужно создать новую папку и дать ей имя, а теперь открыть новый путь к папке в cmd и запустить эти две команды в cmd.

npm init -y

после использования этой команды вы увидите имя файла «package. JSON »в вашей папке при открытии будет выглядеть примерно так: -

{
«name»: «Название проекта»,
«version»: «1.0.0»,
«description»: «»,
«main»: «index. js »,
« scripts »: {
« test »:« echo \ »Ошибка: не указан тест \» && exit 1
},
«keywords»: [] ,
«автор»: «Анил Пандей»,
«лицензия»: «ISC»
}

Теперь используйте команду touch index.js, это создаст файл js в том же каталоге.

Давайте установим несколько пакетов, которые мы будем использовать: - bcryptjs, body-parser, express, mongoose, и комментарий к установке:

npm i имя пакета, то есть npm i bcryptjs

Когда мы закончили настройку проекта, теперь мы начнем с кода. Теперь давайте импортируем все пакеты, которые мы установили, используя ключевое слово «require».

const express = require («экспресс»);

const mongoos = require («мангуст»);

const bcrypt = require («bcryptjs»);

const bodyparser = require ("body-parser");

В приведенном выше описании требуемых пакетов выражается структура node.js, которая действует как промежуточное ПО. mongoose также является фреймворком, который помогает нам подключаться к MongoDB. «Bcryptjs» используется для шифрования и дешифрования данных в узле. body-parser поможет нам заставить наше приложение понимать данные JSON.

mongoos.connect (‘mongodb: // localhost: 27017 / databasename’, {useNewUrlParser: true, useUnifiedTopology: true}) .then (() = ›{console.log (‘ connected to the Mongodb Server ’);})

As, приведенный выше код будет устанавливать соединение с нашей базой данных.

Примечание: - Помните, что при установлении соединения с мангустом всегда добавляйте userNewUrlParser: true и useUnifiedTopology: true. Если вы не передадите эти два параметра, вы получите DeprecationWarning, и в конечном итоге вы не сможете успешно подключиться к своей базе данных.

Итак, давайте создадим схему. Для этого нам нужно создать новый файл user.js

const mongoose = require («мангуст»);

const Схема = mongoose.Schema;

const credential = новая схема ({

имя пользователя : {

тип: String,

требуется: true

},

Пароль : {

тип: String,

требуется: true

}

})

const Credentials = mongoose.model («Credetial», учетные данные);

module.exports = Учетные данные;

В приведенном выше коде (mongoose.Schema) - это встроенная функция для создания схемы. Поскольку нам нужно сохранить имя пользователя и пароль, мы должны определить их тип и требуемый. Если required истинно, то это не может быть нулевое значение, а если ложно, то это может быть нулевое значение. В конце концов, мы используем функцию модели и экспортируем ее.

const userCredential = require («../ пользователь»);

константное приложение = экспресс ();

app.listen (300, () = ›

{// добавляем эту функцию в конец файла. 300 - номер порта

console.log («Сервер прослушивает порт 300»)

})

Добавьте эти строки в файл index.js.

Теперь мы будем создавать модуль регистрации и вставлять данные в нашу базу данных.

const userName = req.body.userName;

const userPassword = req.body.userPassword;

});

Здесь мы будем использовать метод async для синхронизации процесса. В этом методе мы будем получать наши данные через метод body. Есть три способа получить введенные данные: - 1) запрос, 2) параметры, 3) тело. В этой статье мы попробуем методы запроса и тела.

const salt = bcrypt.genSaltSync (10);

const hash = bcrypt.hashSync (пароль пользователя, соль);

console.log (хеш);

Теперь мы зашифруем userPassword. genSaltSync - это случайные текстовые данные, количество которых - это время итераций. Он добавляет случайный текст и создает случайную строку. Функция hashSync принимает два параметра: один - это строка, которую вы хотите зашифровать, а другой - случайная строка, генерируемая методом genSaltSync.

Вот как выглядит наша строка: - $ 2a $ 10 $ CLETThKmEwh7bH9OgY4yf.0 / rlPERwoJdedfybjmWV0 / xXrmzHIFS

На этом мы закончили шифрование нашего пароля. Итак, давайте сохраним данные в нашей базе данных MongoDB.

var data = {

«UserName»: имя пользователя,

«Пароль»: хэш

}

попробовать {

const result = ожидание userCredential (данные) .save ();

res.send (результат);

} catch (ошибка) {

res.send (ошибка);

}

Как видите, мы сохранили данные в переменной JSON и теперь будем создавать блок try-catch. await - это ключевое слово, которое будет ждать, пока не получит никакого ответа.

Примечание: - Все параметры в кружке должны быть одинаковыми для отправки данных JSON.

Как видите, у нас есть данные в нашей базе данных.

Теперь, когда мы закончили с модулем регистрации, теперь мы создадим модуль входа в систему.

app.post (‘/’, async (req, res, next) = ›{

const email = req.query.email;

const пароль = req.query.password;

})

Здесь мы используем другой метод для получения введенных данных по запросу.

попробовать {

const user_Data = ожидание userCredential.findOne ({userName: email})

findOne - это встроенная функция мангуста для поиска отдельных данных и для получения нескольких данных, у нее есть функция «найти». Если это будет SQL, то findeOne будет выглядеть как «SELECT * FROM TABLE WERE USERNAME IS ANILPANDEY», а find будет выглядеть как «SELECT * FROM TABLE».

const com_pass = user_Data.Password;

доступ к паролю из данных JSON.

if (bcrypt.compareSync (пароль, com_pass)) {

Здесь мы сравниваем введенный пользователем пароль и сохраненный пароль пользователя в базе данных.

res.send («Сломанный кодировщик»);

это будет показано, если аутентификация прошла успешно.

} else {

res.send («ввести пароль»);

В противном случае будет показано это сообщение.

}

} catch (ошибка) {

console.log (сообщение об ошибке);

res.send (ошибка);

}

Если произойдет какая-либо ошибка, она будет обработана блоком catch.

Спасибо, что прочитали, попробуйте сами.

Если у вас возникнут проблемы, сообщите мне в разделе ответов.

Хлопайте, если вам это нравится. Поделитесь, если вам это нравится.