app.METHOD(path, callback [, callback …])
路由一个HTTP请求,METHOD
是这个请求的HTTP方法,比如GET
,PUT
,POST
等等,注意是小写的。所以,实际的方法是app.get()
,app.post()
,app.put()
等等。下面有关于方法的完整的表。
获取更多信息,请看[routing guide][21]。
Express支持下面的路由方法,对应与同名的HTTP方法:
|
|
|
如果使用上述方法时,导致了无效的javascript的变量名,可以使用中括号符号,比如,
app['m-search']('/', function ...
你可以提供多个回调函数,它们的行为和中间件一样,除了这些回调可以通过调用next('router')
来绕过剩余的路由回调。你可以使用这个机制来为一个路由设置一些前提条件,如果请求没有满足当前路由的处理条件,那么传递控制到随后的路由。
本API文档把使用比较多的HTTP方法
app.get()
,app.post
,app.put()
,app.delete()
作为一个个单独的项进行说明。然而,其他上述列出的方法以完全相同的方式工作。
app.all()
是一个特殊的路由方法,它不属于HTTP协议中的规定的方法。它为一个路径加载中间件,其对所有的请求方法都有效。
app.all('/secret', function (req, res) {
console.log('Accessing the secret section...');
next(); // pass control to the next handler
});