Рубрики
Без рубрики

Создание простого API отдыха с Expressjs в 5 млн.

Создание простого API отдыха с Expressjs в 5 млн.

Автор оригинала: Etanuwoma Jude.

Остальное API.

Интерфейс репрезентационного состояния (REST) предоставляет набор операций, которые могут быть вызваны удаленным клиентом по сети, используя протокол HTTP.

Прежде чем мы продолжим, мы должны убедиться, что у нас есть следующее, установленное на вашем компьютере.

  1. Oddjs.

Убедитесь, что у вас установлен узел и 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 , а также наш файл маршрута

Выстрел на экране 2017-09-20 в 11.50.45 AM.PNG

давайте создадим содержание нашего 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 должен генерировать одну случайную учетную запись пользователя, как это:

Снятый экран 2017-09-20 в 8,48,12 вечера.

И позвонить в /Пользователи/: Num Здесь : num означает, что мы проходим что-то, чтобы заменить этот аргумент, поэтому фактический звонок будет выглядеть как /Пользователи/10 и Это означает, что мы будем генерировать 10 учетной записи пользователя

Выстрел на экране 2017-09-20 в 8.54.23 PM.PNG

Прежде чем начать писать код, чтобы сделать это, давайте сначала установить 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