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

NodeJS Grund教程

NodeJS Express.js

NodeJS Puffer & URL;

NodeJS MySql

NodeJS MongoDB

NodeJS Datei (FS)

Andere NodeJS

Node.js RESTful API

Was ist REST?

REST, das für "Representational State Transfer" steht (Englisch: Representational State Transfer, Abkürzung: REST), wurde von Dr. Roy Fielding vorgeschlagen,2In seiner Doktorarbeit, die er im Jahr 0000 vorgestellt hat, wurde eine Art von Softwarearchitekturstil vorgeschlagen.

Representational State Transfer (REST) ist eine Gruppe von architektonischen Beschränkungen und Prinzipien. Anwendungen oder Designs, die diese Beschränkungen und Prinzipien erfüllen, sind RESTful. Zu beachten ist, dass REST ein Designstil und keine Norm ist. REST basiert normalerweise auf dem Einsatz von HTTP, URI, XML (eine Untergruppe der Standard Generalized Markup Language) und HTML (eine Anwendung der Standard Generalized Markup Language) sowie auf diesen weit verbreiteten und populären Protokollen und Standards. REST verwendet normalerweise das JSON-Datenformat.

HTTP 方法

Nachstehend sind die vier Methoden der grundlegenden REST-Architektur aufgeführt:

  • GET - Zum Abrufen von Daten.

  • PUT - Zum Aktualisieren oder Hinzufügen von Daten.

  • DELETE - Zum Löschen von Daten.

  • POST - Zum Hinzufügen von Daten.

RESTful Web Services

Ein Web Service ist eine plattformunabhängige, lose gekoppelte, selbstinhaltende, auf programmierbaren Web-Anwendungen basierende Anwendung, die mit dem offenen XML-Standard (eine Untergruppe des Standard Generalized Markup Language) beschrieben, veröffentlicht, entdeckt, koordiniert und konfiguriert werden kann, um verteilte interoperable Anwendungen zu entwickeln.

Web Services, die auf der REST-Architektur basieren, sind RESTful.

Aufgrund ihrer Leichtigkeit und der Fähigkeit, Daten direkt über HTTP zu übertragen, ist die RESTful-Methode der Web-Services zu den häufigsten Alternativen geworden. Clients können in verschiedenen Sprachen (z.B. Java-Programme, Perl, Ruby, Python, PHP und Javascript [einschließlich Ajax]) implementiert werden.

RESTful Web Services können in der Regel über automatische Clients oder Anwendungen, die im Namen der Benutzer agieren, aufgerufen werden. Allerdings ermöglicht diese Einfachheit den Benutzern, direkt damit zu interagieren, indem sie eine GET-URL mit ihrem Webbrowser erstellen und den zurückgegebenen Inhalt lesen.

创建 RESTful

首先,创建一个 json 数据资源文件 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 字符串Benutzer löschen
4:idGET显示用户详细信息

获取用户列表:

In folgendem Code haben wir eine RESTful API erstellt 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("Anwendungsbeispiel, Anschrift http://%s:%s", host, port)
}

Führen Sie接下来以下命令 aus:

$ node server.js 
Anwendungsbeispiel, Anschrift http://0.0.0.0:8081

Besuchen Sie im Browser 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
   }
}

添加用户

In folgendem Code haben wir eine RESTful API erstellt 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("Anwendungsbeispiel, Anschrift http://%s:%s", host, port)
}

Führen Sie接下来以下命令 aus:

$ node server.js 
Anwendungsbeispiel, Anschrift http://0.0.0.0:8081

Besuchen Sie im Browser http://127.0.0.1:8081/addUser,结果如下所示:

{ Benutzer1:
   { name: 'Sea',
     passwort: 'password1',
     Beruf: 'teacher',
     id: 1 },
  Benutzer2:
   { name: 'suresh',
     passwort: 'password2',
     profession: 'librarian',
     id: 2 },
  Benutzer3:
   { name: 'ramesh',
     passwort: 'password3',
     Beruf: 'clerk',
     id: 3 },
  Benutzer4:
   { name: 'mohit',
     passwort: 'password4',
     Beruf: 'teacher',
     id: 4 } 
}

显示用户详情

In folgendem Code haben wir eine RESTful API erstellt :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("Anwendungsbeispiel, Anschrift http://%s:%s", host, port)
}

Führen Sie接下来以下命令 aus:

$ node server.js 
Anwendungsbeispiel, Anschrift http://0.0.0.0:8081

Besuchen Sie im Browser http://127.0.0.1:8081/2,结果如下所示:

{
   "name":"suresh",
   "password":"password2"}}
   "Beruf":"Bibliothekar",
   "id":2
}

Benutzer löschen

In folgendem Code haben wir eine RESTful API erstellt deleteUser, um die Details eines bestimmten Benutzers zu löschen, im folgenden Beispiel ist der Benutzer id 2, der Code des server.js-Datei sieht wie folgt aus:

var express = require('express');
var app = express();
var fs = require("fs");
var id = 2;
app.get('/deleteUser, function (req, res) {
   // Erste Lesung bestehender Benutzer.
   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("Anwendungsbeispiel, Anschrift http://%s:%s", host, port)
}

Führen Sie接下来以下命令 aus:

$ node server.js 
Anwendungsbeispiel, Anschrift http://0.0.0.0:8081

Besuchen Sie im Browser http://127.0.0.1:8081/deleteUser, wie folgt gezeigt:

{ Benutzer1:
   { name: 'Sea',
     passwort: 'password1',
     Beruf: 'teacher',
     id: 1 },
  Benutzer3:
   { name: 'ramesh',
     passwort: 'password3',
     Beruf: 'clerk',
     id: 3 } 
}