03-请求响应中间件

nobility 发布于 2024-10-04 01-Express 912 次阅读


请求响应中间件

省略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) 重定向,可设置状态码301302,默认是302
加油啊!即便没有转生到异世界,也要拿出真本事!!!\(`Δ’)/
最后更新于 2024-10-04