REST即表述性状态传递,Representational State Transfer,简称REST,是一种软件架构风格,是一组架构约束条件和原则,满足这些约束条件和原则的应用程序或设计就是RESTful。需要注意的是,REST是设计风格而不是标准。REST通常基于使用HTTP,URI,和XML以及HTML这些现有的广泛流行的协议和标准。REST 通常使用 JSON 数据格式。
REST 基本架构的四个HTTP方法:
① GET - 用于获取数据。
② PUT - 用于更新或添加数据。
③ DELETE - 用于删除数据。
④ POST - 用于添加数据。
rest.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 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));
});
})
//删除用户
app.get('/deleteUser', function (req, res) {
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));
});
})
//显示用户详情
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().por;
console.log("应用实例,访问地址为 http://%s:%s", host, port);
})
注意:‘/:id’页面回调函数的定义放在最后,否则会影响其他页面,因为其他页面通配‘/:id’。
运行方式:node rest.js
在浏览器中访问 http://127.0.0.1:8081/listUsers——获取用户列表
在浏览器中访问 http://127.0.0.1:8081/addUser——添加user4
在浏览器中访问 http://127.0.0.1:8081/deleteUser——删除user2
在浏览器中访问 http://127.0.0.1:8081/2——显示user2