请求响应中间件
省略path参数时则表示全部请求都会拦截
app.use([path,]...callback):添加的中间件app.get([path,]...callback):get请求方法的中间件app.post([path,]...callback):post请求方法的中间件app.put([path,]...callback):put请求方法的中间件app.delete([path,]...callback):delete请求方法的中间件
请求对象扩展
| 属性或方法名 | 描述 |
|---|---|
request.baseUrl |
路由路径,根路由为空字符串 |
request.query |
直接就是查询字符串的对象,无需手动进行转换 |
request.params |
路由参数对象,在请求路径中使用/:id其中id就是一个路由参数,该参数存储在params对象中 |
request.body |
post请求的请求体,无法直接使用,需要先安装body-parser包,因为express.urlencoded()和express.json()都依赖于body-parser包,再post请求之前添加该中间件即可,具体参考下面代码 |
/***********解析 request.body 模块************/
app.use(express.json()); //解析AJAX发送的json数据,即application/json
app.use(express.urlencoded({ extended: false })); //解析表单提交application/x-www-form-urlencoded
//urlencoded()该方法返回一个方法,所以可以当作中间件
//官方建议使用extended:false就是使用qierystring系统模块进行解析,否则会使用qs的第三方模块进行解析
响应对象扩展
| 方法名 | 描述 |
|---|---|
response.send([body]) |
发送响应信息 当参数为字符串时,将返回html格式 当参数为数组或对象时,将返回JSON格式 |
response.sendFile(path) |
发送文件响应,但并非下载,path是绝对路径 |
response.download(path[,filename,options,callback]) |
发送文件,即下载文件,path可是相对路径,filename是下载的文件名,callback是错误回调 |
response.jsonp([body]) |
发送jsonp响应 |
response.status(code) |
设置响应状态码,返回response对象,可链式调用 |
response.cookie(name,value[,options]) |
设置cookie |
response.clearCookie(name[,options]) |
删除cookie |
response.redirect([status,]path) |
重定向,可设置状态码301或302,默认是302 |

Comments NOTHING