Latest web development tutorials

Node.js RESTful API

Was ist REST?

Das REST (Representational State Transfer Englisch: Representational State Transfer, genannt REST) ​​von Dr. Roy Fielding in seiner Doktorarbeit im Jahr 2000 auf einen Stil der Software-Architektur.

Representational State Transfer ist eine Reihe von architektonischen Zwänge und Prinzipien. Treffen Sie diese Einschränkungen und Prinzipien des Designs oder der Anwendung ist RESTful. Beachten Sie, dass, REST ein Stil, anstatt der Standard. REST ist in der Regel auf der Grundlage der Verwendung von HTTP, URI und XML (eine Teilmenge der Standard Generalized Markup Language unter) und HTML (eine Anwendung unter dem Standard Generalized Markup Language) diese bestehenden verbreiteten Protokolle und Standards. REST verwenden in der Regel JSON-Datenformat.

HTTP-Methode

Die folgenden vier grundlegenden Methoden REST-Architektur:

  • GET - verwendet , um Daten abzurufen.

  • PUT - verwendet , um Daten hinzuzufügen.

  • DELETE - , um Daten zu löschen.

  • POST - verwendet , um Daten zu aktualisieren oder zu ergänzen.


RESTful Web Services

Web-Service ist eine plattformunabhängige, lose gekoppelten, in sich geschlossene, programmierbare Web-basierte Anwendungen können Sie Open XML verwenden (eine Teilmenge der Standard Generalized Markup Language unter) Standards zu beschreiben, zu veröffentlichen, zu entdecken, Koordination und konfigurieren, dass diese Anwendungen für die Entwicklung interoperabler verteilter Anwendungen.

REST-basierte Web Services-Architektur, die RESTful ist.

Durch die leichte und direkte Übertragung über HTTP Kenndaten hat RESTful Web Service-Methode ist die häufigste Alternative. Sie können eine Vielzahl von Sprachen (wie Java-Programme, Perl, Ruby, Python, PHP und Javascript [einschließlich Ajax]) verwenden, um die Kunden zu erreichen.

RESTful Web-Services können in der Regel durch die automatische Client oder im Namen des Benutzers Anwendung zugegriffen werden. Allerdings erlaubt diese Einfachheit Service-Benutzer direkt mit ihnen zu interagieren, ihre Web-Browser eine GET-URL zu erstellen und die Erträge zu lesen.

Weitere Berichte, können Sie sehen: RESTful-Architektur Kommentare


Erstellen von RESTful

Zuerst eine JSON-Daten-Ressource-Datei users.json erstellen, lautet wie folgt:

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

Basierend auf den obigen Daten, haben wir die folgende RESTful API:

Nein. URI HTTP-Methode senden Inhalt Ergebnis
1 Listusers GET leer Zeigt eine Liste aller Benutzer
2 addUser POST JSON-String Hinzufügen eines neuen Benutzers
3 deleteUser DELETE JSON-String Benutzer löschen
4 : ID GET leer Anzeige Benutzerdetails

Holen Sie sich eine Liste der Benutzer:

Der folgende Code, wir eineRESTful API Listusers zu erstellen, für das Lesen ist Benutzerliste Informationen server.js Datei Code wie folgt:

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)

})

Dann führen Sie den folgenden Befehl ein:

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

Der Zugang in den Browser-http://127.0.0.1:8081/listUsers, Ergebnisse sind wie folgt:

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

Benutzer hinzufügen

Mit dem folgenden Code erstellen wir eineRESTful API addUser, verwendet , um neue Benutzerdaten hinzufügen, server.js Datei Code ist wie folgt:

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)

})

Dann führen Sie den folgenden Befehl ein:

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

Zugang in den Browser http://127.0.0.1:8081/addUser, Ergebnisse sind wie folgt:

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

Anzeige Benutzerdetails

Der folgende Code, wir eineRESTful API erstellen: id (Benutzer-ID),geben Sie die Details für den Benutzer, server.js Datei Code zu lesen ist wie folgt:

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)

})

Dann führen Sie den folgenden Befehl ein:

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

Zugang in den Browser http://127.0.0.1:8081/2, Ergebnisse sind wie folgt:

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

Benutzer löschen

Der folgende Code, wir eineRESTful API deleteUser, detaillierte Informationen für den angegebenen Benutzer erstellen Sie das folgende Beispiel zu löschen, wird der Benutzer - ID 2, server.js Datei Code ist wie folgt:

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)

})

Dann führen Sie den folgenden Befehl ein:

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

Zugang in den Browser http://127.0.0.1:8081/deleteUser, Ergebnisse sind wie folgt:

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