Автор оригинала: Etanuwoma Jude.
Остальное API.
Интерфейс репрезентационного состояния (REST) предоставляет набор операций, которые могут быть вызваны удаленным клиентом по сети, используя протокол HTTP.
Прежде чем мы продолжим, мы должны убедиться, что у нас есть следующее, установленное на вашем компьютере.
Убедитесь, что у вас установлен узел и NPM
Чтобы проверить, если у вас установлен Node.js, запустите эту команду в вашем терминале: Узел -в
Чтобы подтвердить, что у вас установлен NPM, вы можете запустить эту команду в вашем терминале: NPM -V.
Если указано выше, то мы можем приступить к созданию нашего первого мини-спокойного API
Теперь давайте начнем с создания нашего каталога проекта, запустите эту команду в вашем терминале: Mkdir Simpleapi
Затем перейдите к созданному каталогу и запустив эту команду CD SimpleaPi
Инициируйте новый проект NPM с этой командой NPM init
и предоставьте все детали, запрошенные для
Мы собираемся использовать Expressjs Nodejs Framework для создания нашего API, поэтому запустите код ниже в вашем терминале
npm install express --save npm install body-parser --save
Тело-парсер
Анализ входящих запрашивающих органов;
Теперь нам нужно создать нашу точку входа в API app.js
, а также наш файл маршрута
давайте создадим содержание нашего app.js
Чтобы начать наш сервер
var express = require("express"); var bodyParser = require("body-parser"); var routes = require("./routes/routes.js"); var app = express(); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); routes(app); var server = app.listen(3000, function () { console.log("app running on port.", server.address().port); });
Да, я знаю, я постараюсь объяснить
var express = require("express"); var bodyParser = require("body-parser");
Здесь мы называем наши установленные модули и присваивая их переменную Экспресс
и BodyParser
соответственно
app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true }));
Две линии выше рассказывают Экспресс
Принять как JSON, так и URL-закодированные значения
var server = app.listen(3000, function () { console.log("app running on port.", server.address().port); });
Здесь мы определили порт, где наш сервер должен работать, но только еще одна вещь, чтобы наконец начать наш удивительный API, да !! Содержание нашего Маршруты
var appRouter = function (app) { app.get("/", function(req, res) { res.status(200).send("Welcome to our restful API"); }); } module.exports = appRouter;
Приведенный выше код говорит нашему серверу, что в любое время есть Получить
Запрос на корню нашего приложения он должен распечатать Добро пожаловать в нашу спокойную API
Теперь мы можем идти вперед и запустить нашу API, набрав Узел App.js
В терминале вы должны получить что-то подобное, напечатанное на вашем терминале Приложение работает на порту. 3000
Отказ Теперь введите посещение http://localhost: 3000 и посмотрите, распечатайте приветственное сообщение
Давайте будем более креативными с нашим приложением API, мы будем добавлять еще два маршрута на нашу конечную точку API, /пользователь
и /Пользователи/: Num
маршруты
Идея состоит в том, что в любое время есть призыв к /пользователь
Маршрут, API должен генерировать одну случайную учетную запись пользователя, как это:
И позвонить в /Пользователи/: Num
Здесь : num
означает, что мы проходим что-то, чтобы заменить этот аргумент, поэтому фактический звонок будет выглядеть как /Пользователи/10
и Это означает, что мы будем генерировать 10 учетной записи пользователя
Прежде чем начать писать код, чтобы сделать это, давайте сначала установить Faker
что генерирует случайные данные учетной записи пользователя
Беги NPM Установить Faker --save
в вашем терминале
Так что давайте отредактируем содержание нашего Маршруты.js
смотреть точно так
var faker = require("faker"); var appRouter = function (app) { app.get("/", function (req, res) { res.status(200).send({ message: 'Welcome to our restful API' }); }); app.get("/user", function (req, res) { var data = ({ firstName: faker.name.firstName(), lastName: faker.name.lastName(), username: faker.internet.userName(), email: faker.internet.email() }); res.status(200).send(data); }); app.get("/users/:num", function (req, res) { var users = []; var num = req.params.num; if (isFinite(num) && num > 0 ) { for (i = 0; i <= num-1; i++) { users.push({ firstName: faker.name.firstName(), lastName: faker.name.lastName(), username: faker.internet.userName(), email: faker.internet.email() }); } res.status(200).send(users); } else { res.status(400).send({ message: 'invalid number supplied' }); } }); } module.exports = appRouter;
Первый маршрут /пользователь
здесь ниже генерируют одну учетную запись пользователя и отправьте данные для отображения сгенерированной учетной записи
app.get("/user", function (req, res) { var data = ({ firstName: faker.name.firstName(), lastName: faker.name.lastName(), username: faker.internet.userName(), email: faker.internet.email() }); res.status(200).send(data); });
Пока вторым,
app.get("/users/:num", function (req, res) { var users = []; var num = req.params.num; if (isFinite(num) && num > 0 ) { for (i = 0; i <= num-1; i++) { users.push({ firstName: faker.name.firstName(), lastName: faker.name.lastName(), username: faker.internet.userName(), email: faker.internet.email() }); } res.status(200).send(users); } else { res.status(400).send({ message: 'invalid number supplied' }); } });
Проверяет, пройдено ли параметр номер, и что число больше 0, то он генерирует списки учетной записи данного номера
Попробуйте проверить это в своем браузере или почтальон, чтобы увидеть чудо нашего API