在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ HTML/ Node.js RESTful API
Node.js快速入門
Node.js事件發(fā)射器
Node.js包(JXcore)
Node.js事件循環(huán)
Node.js文件系統(tǒng)
Node.js npm
Node.js安裝和入門
Node.js工具模塊
Node.js回調(diào)概念
Node.js流
Node.js入門實(shí)例程序
Node.js教程
Node.js規(guī)范化應(yīng)用
Node.js REPL終端
Node.js緩沖器
Node.js RESTful API
Node.js全局對(duì)象
Linux安裝Node.js(源碼編譯安裝)
Node.js Web模塊
Node.js Express框架

Node.js RESTful API

什么是REST架構(gòu)?

REST表示代表性狀態(tài)傳輸。REST是一種基于Web標(biāo)準(zhǔn)的架構(gòu),并使用HTTP協(xié)議。 它都是圍繞著資源,其中每一個(gè)組件是資源和一個(gè)資源是由一個(gè)共同的接口使用HTTP的標(biāo)準(zhǔn)方法獲得。REST最初是由Roy Fielding在2000年推出。

一個(gè)REST服務(wù)器只是提供的資源和REST客戶端訪問和使用HTTP協(xié)議修改的資源。這里每個(gè)資源由URI標(biāo)識(shí)的/全局標(biāo)識(shí)。其余部分使用各個(gè)表示形式表示相同的文字,JSON和XML資源;但JSON是最流行的一種。

HTTP 方法

以下四個(gè)HTTP方法通常用在基于REST架構(gòu)。

  • GET - 這是用來提供對(duì)資源的只讀訪問。

  • PUT - 這被用來創(chuàng)建新的資源。

  • DELETE - 這是用來刪除資源。

  • POST - 這被用于更新現(xiàn)有資源或者創(chuàng)建新的資源。

RESTful Web服務(wù)

Web服務(wù)是用于交換應(yīng)用程序或系統(tǒng)之間的數(shù)據(jù)開放的協(xié)議和標(biāo)準(zhǔn)的集合。寫在各種編程語言和運(yùn)行在不同平臺(tái)上的軟件應(yīng)用程序可以使用Web服務(wù)來以類似于進(jìn)程間通信在單臺(tái)計(jì)算機(jī)上的方式通過計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行交換數(shù)據(jù),如因特網(wǎng)。 這種互操作性(如Java和Python,或Windows和Linux應(yīng)用程序之間的通信)是由于使用開放標(biāo)準(zhǔn)。

基于REST架構(gòu)的Web服務(wù)稱為RESTful web服務(wù)。這些Web服務(wù)使用HTTP方法來實(shí)現(xiàn)REST架構(gòu)的概念。RESTful Web服務(wù)通常定義的URI,統(tǒng)一資源標(biāo)識(shí)符一項(xiàng)服務(wù),它提供資源表示,如JSON,并設(shè)置HTTP方法。

為一個(gè)庫創(chuàng)建RESTful

考慮到我們擁有具有以下用戶的用戶的基于JSON數(shù)據(jù)庫中的文件 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。

S. N. URI HTTP 方法 POST 主體 結(jié)果
1 listUsers GET empty 顯示所有用戶的列表
2 addUser POST JSON String 添加新用戶的詳細(xì)信息
3 deleteUser DELETE JSON String 刪除現(xiàn)有用戶
4 :id GET empty 查看用戶的詳細(xì)

保持最全的例子部分的硬編碼假設(shè)的形式,你已經(jīng)知道如何通過使用Ajax或簡單的表單數(shù)據(jù),以及如何使用 express Request對(duì)象來處理前端的值。

用戶列表

讓我們用下面的代碼在server.js文件中,實(shí)現(xiàn)我們的第一個(gè)基于RESTful API 的 listUsers:

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)

})

現(xiàn)在嘗試使用定義的API,訪問 http://127.0.0.1:8081/listUsers 在本地機(jī)器上,這將產(chǎn)生以下結(jié)果:

可以更改指定的IP地址,當(dāng)您將投入生產(chǎn)環(huán)境的解決方案。

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