REST即表述性狀態(tài)傳遞(英文:RePResentational State Transfer,簡稱REST) 表述性狀態(tài)轉(zhuǎn)移是一組架構(gòu)約束條件和原則。 REST是設(shè)計(jì)風(fēng)格而不是標(biāo)準(zhǔn)。
以下為 REST 基本架構(gòu)的四個(gè)方法:
GET - 用于獲取數(shù)據(jù)。 PUT - 用于添加數(shù)據(jù)。 DELETE - 用于刪除數(shù)據(jù)。 POST - 用于更新或添加數(shù)據(jù)。Web service是一個(gè)平臺(tái)獨(dú)立的,低耦合的,自包含的、基于可編程的web的應(yīng)用程序,可使用開放的xml(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個(gè)子集)標(biāo)準(zhǔn)來描述、發(fā)布、發(fā)現(xiàn)、協(xié)調(diào)和配置這些應(yīng)用程序,用于開發(fā)分布式的互操作的應(yīng)用程序。 基于 REST 架構(gòu)的 Web Services 即是 RESTful。
創(chuàng)建一個(gè)代表用戶信息的 json 數(shù)據(jù)資源文件 user.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 }}URI:listUsers 方法:GET 發(fā)送內(nèi)容:空 結(jié)果:顯示所有用戶列表
var express = require('express');var app = express();var fs = require("fs");app.get('/listUsers', function (req, res) { fs.readFile( __dirname + "/" + "user.json", 'utf8', function (err, data) { console.log( data ); res.end( data ); });})var server = app.listen(8081)URI:addUser 方法:POST 發(fā)送內(nèi)容:JSON 字符串 結(jié)果:添加新用戶
var express = require('express');var app = express();var fs = require("fs");//添加的新用戶數(shù)據(jù)var user = { "user4" : { "name" : "mohit", "password" : "password4", "profession" : "teacher", "id": 4 }}app.get('/addUser', function (req, res) { // 讀取已存在的數(shù)據(jù) fs.readFile( __dirname + "/" + "user.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)URI: deleteUser 方法:DELETE 發(fā)送內(nèi)容:JSON 字符串 結(jié)果:刪除用戶
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 + "/" + "user.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)URI::id 方法:GET 發(fā)送內(nèi)容:空 結(jié)果: 顯示用戶詳細(xì)信息
var express = require('express');var app = express();var fs = require('fs');app.get('/:id',function(req,res){ fs.readFile(__dirname + "/" + "user.json", 'utf8',function(err,data){ data = JSON.parse( data ); var user = data["user" + req.params.id] console.log( user ); res.end( JSON.stringify(user)); })})app.listen(8081);新聞熱點(diǎn)
疑難解答
圖片精選