一、REST
REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。
表述性状态转移是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是RESTful。需要注意的是,REST是设计风格而不是标准。REST通常基于使用HTTP,URI,和XML(标准通用标记语言下的一个子集)以及HTML(标准通用标记语言下的一个应用)这些现有的广泛流行的协议和标准。REST 通常使用 JSON 数据格式。
二、RESTful Web Services
Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。
基于 REST 架构的 Web Services 即是 RESTful。
由于轻量级以及通过 HTTP 直接传输数据的特性,Web 服务的 RESTful 方法已经成为最常见的替代方法。可以使用各种语言(比如 Java 程序、Perl、Ruby、Python、PHP 和 Javascript[包括 Ajax])实现客户端。
获取用户列表
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) {
res.end(data);
})
});
var server = app.listen(4000,function () {
});
module.exports = app;
添加用户
var express = require('express');
var app = express();
var fs = require('fs');
var user = {
'user4':{
'name':'chenfan',
'password':'xxxxxx',
'profession':'test',
'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'];
res.end(JSON.stringify(data))
});
});
var server = app.listen(4000,function () {
});
module.exports = app;
显示用户详情
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];
res.end(JSON.stringify(user));
})
})
;
var server = app.listen(4000,function () {
});
module.exports = app;
删除用户
var express = require('express');
var app = express();
var fs = require('fs');
var id = 2;
app.get('/deleteUser',function (req, res) {
fs.readFile(__dirname + '/' + 'users.json','utf8',function (err, data) {
data = JSON.parse(data);
delete data['user' + id];
res.end(JSON.stringify(data));
});
});
var server = app.listen(4000,function () {
});
module.exports = app;
网友评论