本文仅用于学习记录,不存在任何商业用途,如侵删
路由*是指应用程序的端点 (URI) 如何响应客户端请求。
app您使用与 HTTP 方法对应的 Express 对象的方法定义路由;
例如,
app.get()处理 GET 请求app.post处理 POST 请求。全部列表 https://www.expressjs.com.cn/en/4x/api.html#app.METHOD
开发者还可以使用app.all()来处理所有HTTP 方法,并使用app.use() 将中间件指定为回调函数。
中间件详细信息:https://www.expressjs.com.cn/en/guide/using-middleware.html
这些路由方法指定一个回调函数(有时称为“处理函数”),当应用程序接收到对指定路由(端点)和 HTTP 方法的请求时调用。
换句话说,应用程序“监听”匹配指定路由和方法的请求,当它检测到匹配时,它调用指定的回调函数。
实际上,路由方法可以有多个回调函数作为参数。
对于多个回调函数,重要的是提供next作为回调函数的参数,然后next()在函数体内调用以将控制权移交给下一个回调。
下面的代码是一个非常基本的路由示例。
var express = require('express')
var app = express()
// respond with "hello world" when a GET request is made to the homepage
app.get('/', function (req, res) {
res.send('hello world')
})
路由方法派生自 HTTP 方法之一,并附加到express类的实例。
以下代码是为应用程序根目录的 GET 和 POST 方法定义的路由示例。
// GET method route
app.get('/', function (req, res) {
res.send('GET request to the homepage')
})
// POST method route
app.post('/', function (req, res) {
res.send('POST request to the homepage')
})
这些咱们之前就已经体验过了
Express 支持与所有 HTTP 请求方法对应的方法:get、post等。
有一种特殊的路由方法,app.all()用于在所有HTTP 请求方法的路径上加载中间件函数。
例如,无论使用 GET、POST、PUT、DELETE 还是http 模块中支持的任何其他 HTTP 请求方法,都会对路由“/secret”的请求执行以下处理程序。
app.all('/secret', function (req, res, next) {
console.log('Accessing the secret section ...')
next() // pass control to the next handler
})
