Latest web development tutorials

Node.js REST API

Czym jest REST?

To transferu REST Representational State (angielski: Representational State Transfer, zwany REST) ​​przedstawiony przez dr Roy Fielding w swojej pracy doktorskiej w 2000 roku w stylu architektury oprogramowania.

Representational State Transfer jest zbiorem ograniczeń architektonicznych i zasad. Spełnienia tych ograniczeń i zasad projektowania lub aplikacja jest spokojny. Należy zauważyć, że reszta to styl niż średnia. Reszta jest zazwyczaj oparte na wykorzystaniu protokołu HTTP, Uri i XML (podzbiorem SGML mocy) i HTML (wniosku w ramach SGML) tych istniejących rozpowszechnionych protokołów i standardów. REST zazwyczaj używają formatu danych JSON.

metoda HTTP

Poniższe cztery podstawowe metody architektury REST:

  • GET - służy do pobierania danych.

  • PUT - służy do dodawania danych.

  • Usuń - aby usunąć dane.

  • POST - służy do aktualizacji lub dodać dane.


REST Web Services

Jest to serwis internetowy, luźno związane, programowalnymi aplikacji internetowych opartych niezależny od platformy samodzielne, można użyć Open XML (podzbiór SGML pod) standardy, aby opisać, publikowania, odkryć, koordynacja i skonfigurować te aplikacje dla rozwoju interoperacyjnych aplikacji rozproszonych.

REST Web Services opartych architektury, która jest spokojny.

Ze względu na lekką i bezpośredni transfer danych poprzez HTTP charakterystycznym, relaksującego metody usługi sieci Web stała się najpopularniejszą alternatywą. Można używać różnych języków (takie jak programy Java, Perl, Ruby, Python, PHP i JavaScript [w tym Ajax]), aby osiągnąć na koncie klienta.

REST Web Services można zwykle uzyskać za pośrednictwem automatycznego klienta lub w imieniu aplikacji użytkownika. Jednak ta prostota pozwala użytkownikom usług bezpośrednio współdziałać z nimi za pomocą przeglądarki internetowej, aby zbudować URL GET i czytać powraca.

Inne raporty, można zobaczyć: relaksującego architektury Komentarze


Tworzenie relaksującego

Najpierw utwórz users.json pliku zasobów danych json, brzmi następująco:

{
   "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
   }
}

Na podstawie powyższych danych, stworzyliśmy następujące REST API:

Nie. URI metoda HTTP Wyślij zawartość wynik
1 Listusers GET pusty Wyświetla listę wszystkich użytkowników
2 adduser POST JSON ciąg Dodaj nowego użytkownika
3 deleteUser DELETE JSON ciąg Usuń użytkownika
4 : Id GET pusty Dane użytkownika Wyświetlacz

Pobierz listę użytkowników:

Poniższy kod, tworzymyspokojny Listusers API do odczytywania informacji lista użytkowników, server.js kod pliku jest następująca:

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)

})

Następnie wykonaj następujące polecenie:

$ node server.js 
应用实例,访问地址为 http://0.0.0.0:8081

Dostępu w http://127.0.0.1:8081/listUsers~~pobj przeglądarki wyniki przedstawiają się następująco:

{
   "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
   }
}

Dodaj użytkownika

Poniższy kod, tworzymyREST API adduser, używany, aby dodać nowe dane użytkownika, server.js kod pliku jest następujący:

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)

})

Następnie wykonaj następujące polecenie:

$ node server.js 
应用实例,访问地址为 http://0.0.0.0:8081

Dostęp do http://127.0.0.1:8081/addUser~~pobj przeglądarki wyniki przedstawiają się następująco:

{ 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 } 
}

Dane użytkownika Wyświetlacz

Poniższy kod, tworzymyREST API: id (identyfikator użytkownika), należypodać szczegółowe informacje dla użytkownika, aby przeczytać, server.js kod pliku jest następująca:

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)

})

Następnie wykonaj następujące polecenie:

$ node server.js 
应用实例,访问地址为 http://0.0.0.0:8081

Dostęp do http://127.0.0.1:8081/2~~pobj przeglądarki wyniki przedstawiają się następująco:

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

Usuń użytkownika

Poniższy kod, tworzymyREST API deleteUser szczegółowych informacji dla określonego użytkownika, aby usunąć następujący przykład identyfikator użytkownika jest 2, server.js kod pliku jest następująca:

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)

})

Następnie wykonaj następujące polecenie:

$ node server.js 
应用实例,访问地址为 http://0.0.0.0:8081

Dostęp do http://127.0.0.1:8081/deleteUser~~pobj przeglądarki wyniki przedstawiają się następująco:

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