English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

NodeJS базовый учебник

NodeJS Express.js

NodeJS буфер & URL;

NodeJS MySql

NodeJS MongoDB

NodeJS файлы (FS)

Другие NodeJS

Node.js RESTful API

Что такое REST?

REST (Representational State Transfer, сокращенно REST) — это стиль архитектуры программного обеспечения, предложенный доктором Роем Филдингом в его диссертации 2000 года.

Контекстно-состояние передача — это набор архитектурных ограничений и принципов. Приложения или设计方案, удовлетворяющие этим ограничениям и принципам, являются RESTful. следует отметить, что REST — это стиль дизайна, а не стандарт. REST обычно основан на использовании HTTP, URI, XML (подмножество общего языка маркировки) и HTML (приложение общего языка маркировки). REST обычно использует формат данных JSON.

HTTP метод

Ниже приведены четыре метода базовой архитектуры REST:

  • GET - для получения данных.

  • PUT - для обновления или добавления данных.

  • DELETE - для удаления данных.

  • POST - для добавления данных.

RESTful Web Services

Web service - это платформонезависимый, низкокорелированный, автономный, основанный на программируемом веб-приложении, который можно описывать, публиковать, обнаруживать, координировать и конфигурировать с использованием открытых стандартов XML (подмножество общего языка маркировки). Они используются для разработки распределенных взаимосвязанных приложений.

Web Services на основе архитектуры REST являются RESTful.

Благодаря легковесности и способности передавать данные напрямую через HTTP, метод RESTful Web Services стал наиболее распространенным代替 методом. Клиенты могут быть реализованы на различных языках (например, Java, Perl, Ruby, Python, PHP и Javascript [включая Ajax]).

RESTful Web Services обычно можно получить через автоматического клиента или приложение, представляющее пользователя. Но удобство этой услуги позволяет пользователям напрямую взаимодействовать с ней, используя их веб-браузер для создания GET URL и чтения возвращенного содержимого.

Создать RESTful

Сначала создайте файл json данных resource users.json, содержимое будет следующим:

{
   "user1": {
      "name": "Sea",
      "password": "password1",
      "profession": "teacher",
      "id": 1
   },
   "user2": {
      "name": "suresh",
      "password": "password2"}}
      "profession": "librarian",
      "id": 2
   },
   "user3": {
      "name": "ramesh",
      "password": "password3",
      "profession": "clerk",
      "id": 3
   }
}

На основе данных, созданных нами, мы создаем следующие RESTful API:

НомерURIHTTP методОтправить содержимоеРезультат
1listUsersGETПустоПоказать список всех пользователей
2addUserPOSTJSON строкаДобавить нового пользователя
3deleteUserDELETEJSON строкаУдаление пользователя
4:idGETПустоПоказать详细信息 пользователя

Получить список пользователей:

Ниже приведен код, с помощью которого мы создали RESTful API listUsersдля чтения списка пользователей информации, код файла server.js будет следующим:

var express = require('express');
var app = express();
var fs = require("fs");
app.get('/listUsers', function(req, res) {
   fs.readFile( __dirname + "/" + "users.json", 'utf8', function (err, data) {
       console.log( data );
       res.end(data);
   });
}
var server = app.listen(8081, function () {
  var host = server.address().address
  var port = server.address().port
  console.log("Пример использования, адрес доступа: http://%s:%s", host, port)
}

Далее выполните следующие команды:

$ node server.js 
Пример использования, адрес доступа: http://0.0.0.0:8081

В браузере перейдите по адресу http://127.0.0.1:8081/listUsers, результат будет следующим:

{
   "user1": {
      "name": "Sea",
      "password": "password1",
      "profession": "teacher",
      "id": 1
   },
   "user2": {
      "name": "suresh",
      "password": "password2"}}
      "profession": "librarian",
      "id": 2
   },
   "user3": {
      "name": "ramesh",
      "password": "password3",
      "profession": "clerk",
      "id": 3
   }
}

Добавить пользователя

Ниже приведен код, с помощью которого мы создали RESTful API addUserУказано для добавления новых данных о пользователе, код файла server.js будет следующим:

var express = require('express');
var app = express();
var fs = require("fs");
// Данные нового пользователя
var user = {
   "user4": {
      "name": "mohit",
      "password": "password4",
      "profession": "teacher",
      "id": 4
   }
}
app.get('/addUser', function(req, res) {
   // Чтение существующих данных
   fs.readFile( __dirname + "/" + "users.json", 'utf8', function (err, data) {
       data = JSON.parse( data );
       data["user4"] = user["user4"];
       console.log( data );
       res.end( JSON.stringify(data));
   });
}
var server = app.listen(8081, function () {
  var host = server.address().address
  var port = server.address().port
  console.log("Пример использования, адрес доступа: http://%s:%s", host, port)
}

Далее выполните следующие команды:

$ node server.js 
Пример использования, адрес доступа: http://0.0.0.0:8081

В браузере перейдите по адресу http://127.0.0.1:8081/addUser, результат будет следующим:

{ user1:
   { name: 'Sea',
     password: 'password1',
     profession: 'teacher',
     id: 1 },
  user2:
   { name: 'suresh',
     password: 'password2',
     profession: 'librarian',
     id: 2},
  user3:
   { name: 'ramesh',
     password: 'password3',
     profession: 'clerk',
     id: 3},
  user4:
   { name: 'mohit',
     password: 'password4',
     profession: 'teacher',
     id: 4} 
}

Показать подробную информацию о пользователе

Ниже приведен код, с помощью которого мы создали RESTful API :id (ID пользователя)Указано для чтения подробной информации о пользователе, код файла server.js будет следующим:

var express = require('express');
var app = express();
var fs = require("fs");
app.get('/:id', function(req, res) {
   // Сначала мы читаем существующих пользователей
   fs.readFile( __dirname + "/" + "users.json", 'utf8', function (err, data) {
       data = JSON.parse( data );
       var user = data["user" + req.params.id]; 
       console.log(user);
       res.end(JSON.stringify(user));
   });
}
var server = app.listen(8081, function () {
  var host = server.address().address
  var port = server.address().port
  console.log("Пример использования, адрес доступа: http://%s:%s", host, port)
}

Далее выполните следующие команды:

$ node server.js 
Пример использования, адрес доступа: http://0.0.0.0:8081

В браузере перейдите по адресу http://127.0.0.1:8081/2, результат будет следующим:

{
   "name":"suresh",
   "password":"password2",
   "profession":"librarian",
   "id":2
}

Удаление пользователя

Ниже приведен код, с помощью которого мы создали RESTful API deleteUserДля удаления详细信息指定的 пользователя, в следующем примере идентификатор пользователя составляет 2, код файла server.js следующий:

var express = require('express');
var app = express();
var fs = require("fs");
var id = 2;
app.get('/deleteUser', function (req, res) {
   // First read existing users.
   fs.readFile( __dirname + "/" + "users.json", 'utf8', function (err, data) {
       data = JSON.parse( data );
       delete data["user" + id];
       
       console.log( data );
       res.end( JSON.stringify(data));
   });
}
var server = app.listen(8081, function () {
  var host = server.address().address
  var port = server.address().port
  console.log("Пример использования, адрес доступа: http://%s:%s", host, port)
}

Далее выполните следующие команды:

$ node server.js 
Пример использования, адрес доступа: http://0.0.0.0:8081

В браузере перейдите по адресу http://127.0.0.1:8081/deleteUser, результат будет следующим:

{ user1:
   { name: 'Sea',
     password: 'password1',
     profession: 'teacher',
     id: 1 },
  user3:
   { name: 'ramesh',
     password: 'password3',
     profession: 'clerk',
     id: 3 } 
}