Лучшее руководство по Node.js RESTful API в 2024 году. В этом руководстве вы можете изучить Что такое REST?,RESTful Web Services,Создание RESTful,
Node.js RESTful API
Что такое REST?
Это ОСТАЛЬНЫЕ Representational State Transfer (на английском языке: Representational State Transfer, называется REST), представленный доктором Рой Филдинг в своей докторской диссертации в 2000 году в стиле архитектуры программного обеспечения.
Представительный State Transfer представляет собой набор архитектурных ограничений и принципов. Встреча этих ограничений и принципы дизайна или приложение RESTful. Обратите внимание, что, REST это стиль, а не стандарт. REST обычно основывается на использовании HTTP, URI и XML (подмножество стандартного обобщенного языка разметки) и в соответствии с HTML (приложение, в соответствии со стандартной Generalized Markup Language) этих существующих распространенных протоколов и стандартов. REST обычно используют формат данных в формате JSON.
метод HTTP
Следующие четыре основных метода REST архитектуры:GET - используется для получения данных.
PUT - используется для добавления данных.
DELETE - для удаления данных.
POST - используется для обновления или добавления данных.
RESTful Web Services
Веб-служба является независимой от платформы, слабосвязанные, автономные, программируемые веб-приложения, вы можете использовать Open XML (подмножество Стандартный обобщенный язык разметки в соответствии с) стандарты для описания, публиковать, находить, координация и настроить эти приложения для разработки функционально совместимых распределенных приложений.
REST на основе архитектуры Web-сервисов, что является RESTful.
Из-за легкого и прямой передачи через HTTP данные по характеристикам, RESTful метод веб-службы стала наиболее распространенной альтернативой. Вы можете использовать различные языки (например, Java-программы, Perl, Ruby, Python, PHP и Javascript [включая Ajax]) для достижения клиента.
RESTful веб-сервисов обычно можно получить доступ с помощью автоматического клиента или от имени приложения пользователя. Тем не менее, эта простота позволяет пользователям услуг непосредственно взаимодействовать с ними с помощью своего веб-браузера, чтобы построить GET URL и читать возвращается.
Другие отчеты, вы можете просмотреть: RESTful архитектуры Комментарии
Создание 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:
Нет. | URI | метод HTTP | Отправить Содержание | результат |
---|---|---|---|---|
1 | Listusers | GET | пустой | Отображает список всех пользователей |
2 | AddUser | POST | строка в формате JSON | Добавление нового пользователя |
3 | deleteUser | УДАЛЕНИЕ | строка в формате JSON | Удалить пользователя |
4 | : Id | GET | пустой | Моя информация |
Получить список пользователей:
Следующий код, мы создаемRESTful Listusers API, для чтения списка пользовательской информации, 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~~pobj браузера, результаты выглядят следующим образом:
{ "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 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~~pobj, получены следующие результаты:
{ 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 } }
Моя информация
Следующий код, мы создаемRESTful 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) { 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~~pobj, получены следующие результаты:
{ "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" + 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("应用实例,访问地址为 http://%s:%s", host, port) })
Затем выполните следующую команду:
$ node server.js 应用实例,访问地址为 http://0.0.0.0:8081
Доступ в браузере http://127.0.0.1:8081/deleteUser~~pobj, получены следующие результаты:
{ user1: { name: 'mahesh', password: 'password1', profession: 'teacher', id: 1 }, user3: { name: 'ramesh', password: 'password3', profession: 'clerk', id: 3 } }