Node.js — REST API

Node.js — REST API

От автора: что такое архитектура REST? REST означает REpresentational State Transfer. REST — это веб-стандарт, основанный на архитектуре, которая использует протокол HTTP. Она связана с обработкой ресурсов, где каждый компонент является ресурсом, и доступ к ресурсам осуществляется через общий интерфейс с использованием стандартных методов HTTP. REST был впервые представлен Роем Филдингом в 2000 году.

Сервер REST просто обеспечивает доступ к ресурсам, а клиенты REST получают доступ к ресурсам и изменяют их с помощью протокола HTTP. Здесь каждый ресурс идентифицируется с помощью URI/глобальных идентификаторов. В Node js REST использует различные представления для отображения ресурсов, таких как текст, JSON, XML, но наиболее часто используемым среди них, является JSON.

Методы HTTP

В архитектуре REST обычно используются следующие четыре метода HTTP.

GET — используется для обеспечения доступа к ресурсу только для чтения.

PUT — используется для создания нового ресурса.

Фреймворк VUE JS: быстрый старт, первые результаты

Получите бесплатный курс и создайте веб-приложение на трендовой Frontend-технологии VUE JS с полного нуля

Узнать подробнее

DELETE — используется для удаления ресурса.

POST — используется для обновления существующего ресурса или создания нового ресурса.

Веб-службы RESTful

Веб-служба представляет собой набор открытых протоколов и стандартов, используемых для обмена данными между приложениями или системами. Программные приложения, написанные на разных языках программирования и работающие на разных платформах, могут использовать веб-службы для обмена данными через компьютерные сети, такие как Интернет, способом аналогичным, тому как осуществляется взаимодействие между различными процессами на отдельном компьютере. Эта совместимость (например, связь между Java и Python, или приложениями Windows и Linux) осуществляется благодаря использованию открытых стандартов.

Веб-службы, основанные на архитектуре REST, называются веб-службами RESTful. Эти веб-службы используют HTTP-методы для реализации концепции архитектуры REST. Веб-служба RESTful обычно определяет URI, Uniform Resource Identifier — службу, которая предоставляет представление ресурсов, такое как JSON и набор HTTP-методов.

Создание RESTful для библиотеки

Предположим у нас есть JSON на основе базы данных пользователей, содержащей следующих пользователей в файле users.json:

{
 "user1" : {
 "name" : "mahesh",
 "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.

Node.js — REST API

Фреймворк VUE JS: быстрый старт, первые результаты

Получите бесплатный курс и создайте веб-приложение на трендовой Frontend-технологии VUE JS с полного нуля

Узнать подробнее

Во всех приведенных примерах по большей части было использовано жесткое кодирование, предполагая, что вы уже знакомы с тем, как передавать значения из front end с помощью данных Ajax или простой формы и как обрабатывать их с помощью объекта express Request.

Список пользователей

Давайте реализуем наше первое 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("Example app listening at http://%s:%s", host, port)
 
})

Теперь попробуйте получить доступ к определенному API с помощью URL: http://127.0.0.1:8081/listUsers и HTTP-метода: GET на локальном компьютере с использованием любого клиента REST. В результате вы должны получить следующее:

Вы можете изменить IP-адрес при переносе решения в рабочую среду.

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

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

В следующий API показано как добавить пользователя в список. Ниже приводится подробная информация о новом пользователе:

user = {
 "user4" : {
 "name" : "mohit",
 "password" : "password4",
 "profession" : "teacher",
 "id": 4
 }
}

Вы можете принять те же данные с помощью вызова JSON, используя Ajax-вызов, но в целях обучения, мы используем здесь жесткое кодирование. Ниже приведен 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.post('/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("Example app listening at http://%s:%s", host, port)
 
})

Теперь попробуйте получить доступ к определенному API с помощью URL: http://127.0.0.1:8081/addUser и HTTP-метода: POST на локальном компьютере с использованием любого клиента REST. В результате вы должны получить следующее:

{
"user1":{"name":"mahesh","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}
}

Вывод информации

Теперь мы реализуем API, который будет вызываться с использованием идентификатора пользователя, и отображать информацию о соответствующем пользователе. 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) {
 var users = JSON.parse( data );
 var user = users["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("Example app listening at http://%s:%s", host, port)
 
})

Теперь попытайтесь получить доступ к определенному API через URL: http://127.0.0.1:8081/2 и HTTP метод: GET на локальном компьютере с использованием любого клиента REST. В результате вы должны получить следующее:

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

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

Этот API очень похож на API addUser, в котором мы получаем входные данные через req.body, а затем на основе идентификатора пользователя удаляем этого пользователя из базы данных. Чтобы не усложнять программу, мы предполагаем, что мы удалим пользователя с ID 2. server.js

var express = require('express');
var app = express();
var fs = require("fs");
 
var id = 2;
 
app.delete('/deleteUser', function (req, res) {
 
 // Сначала считываем существующих пользователей.
 fs.readFile( __dirname + "/" + "users.json", 'utf8', function (err, data) {
 data = JSON.parse( data );
 delete data["user" + 2];
 
 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("Example app listening at http://%s:%s", host, port)
 
})

Теперь попытайтесь получить доступ к определенному API через URL: http://127.0.0.1:8081/deleteUser и HTTP метод: DELETE на локальном компьютере с использованием любого клиента REST. . В результате вы должны получить следующее:

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

Источник: https://www.tutorialspoint.com/

Редакция: Команда webformyself.

Фреймворк VUE JS: быстрый старт, первые результаты

Получите бесплатный курс и создайте веб-приложение на трендовой Frontend-технологии VUE JS с полного нуля

Узнать подробнее

Курс по NodeJS. Основы

Прямо сейчас посмотрите курс по NodeJS!

Смотреть курс

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree