Page 102 - Node.js开发指南
P. 102
5.3 路由控制 95
表5-2 REST风格HTTP 请求的特点
1
请求方式 安 全 幂 等
GET 是 是
POST 否 否
PUT 否 是 2
DELETE 否 是
Express 对每种 HTTP 请求方法都设计了不同的路由绑定函数,例如前面例子全部是
app.get,表示为该路径绑定了 GET 请求,向这个路径发起其他方式的请求不会被响应。
表 5-3 是 Express 支持的所有 HTTP 请求的绑定函数。 3
表5-3 Express 支持的 HTTP 请求的绑定函数
请求方式 绑定函数
4
GET app.get(path, callback)
POST app.post(path, callback)
PUT app.put(path, callback)
DELETE app.delete(path, callback)
5
PATCH app.patch(path, callback)
①
TRACE app.trace(path, callback)
CONNECT app.connect(path, callback)
OPTIONS app.options(path, callback) 6
所有方法 app.all(path, callback)
例如我们要绑定某个路径的 POST 请求,则可以用 app.post(path, callback) 的
方法。需要注意的是 app.all 函数,它支持把所有的请求方式绑定到同一个响应函数,是 7
一个非常灵活的函数,在后面我们可以看到许多功能都可以通过它来实现。
5.3.5 控制权转移
8
Express 支持同一路径绑定多个路由响应函数,例如:
app.all('/user/:username', function(req, res) {
res.send('all methods captured');
});
app.get('/user/:username', function(req, res) { 9
res.send('user: ' + req.params.username);
});
——————————
① PATCH 方式是 IETF RFC 5789 ( http://tools.ietf.org/html/rfc5789 ) 新增的 HTTP 方法,功能定义是部分更新某个 10
资源。