重生之我要当前端大王–node篇
第一篇章 后端服务篇–nodeJS启动!
02 express路由,中间件
前言
阅读本章可学习到将接口抽离到独立模块,减少耦合,以及中间件的使用
一、路由是什么,有什么用?
路由是 Express 应用中用于处理客户端请求的规则和处理程序。每个路由可以定义一个特定的 HTTP 请求方法(如 GET、POST、PUT、DELETE 等)和 URL 路径。当 Express 应用接收到一个请求时,它会查找匹配的路由,并执行相应的处理程序。
路由的使用步骤
1.建立单独路由文件,在主入口导入使用
//userRouter.js
import express from 'express'
const router=express.Router()//获取路由实例
router.get('/list',(req,res)=>{
console.log(req.query)
res.json({
code:200,
data:req.query.name
})
})
export default router//导出路由
//index.js
import userRouter from './router/user.js'//导入路由
app.use('/user',userRouter)//挂载到app上
2.查看效果
使用 node index.js 启动服务器
在浏览器输入http://localhost:3000/user/list?name=小英家的牛,返回对应数据,说明我们的接口通了
二、中间件是什么,有什么用
Express 中间件是 Express 应用程序的核心功能之一,它允许你在处理 HTTP 请求和响应的过程中执行代码、修改请求和响应对象、结束请求-响应周期,或者调用堆栈中的下一个中间件函数
让我们用代码来邂逅一下中间件
import express from 'express'//导入express
import userRouter from './router/user.js'
const app=express()//获取express实例
app.use(express.json())//解析json数据
/**
* req:请求体
* res:响应体
* next传递控制权,调用next()将控制权传递给下一个中间件,否则拦截在这个中间件
*/
app.use((req,res,next)=>{
console.log('经过中间件');
const token =req.headers.authorization
if(token){
next()//放行
}else{
res.send('小黑子露出马脚了吧')
}
})
app.use('/user',userRouter)
//服务监听本地3000端口
app.listen(3000,()=>{
console.log('express 启动!');
})
通过app.use定义了一共全局中间件,请求接口会先通过该中间件,在中间件里可以进行鉴权逻辑判断,如果有token进行next放行,否则返回错误提示
使用postman send一下看看
携带token,放行
如果没有携带上token,中间件会进行拦截
总结
看到这,你已经学会了如何使用路由模块化管理接口,以及使用中间件进行鉴权,又学习到一个小妙招,小英家的牛迫不及待给你点赞,,快和小英家的牛一起来邂逅一下路由和中间件吧,你的点赞是我更新的动力。
标签:node,req,--,app,express,中间件,token,路由 From: https://blog.csdn.net/zzy831153/article/details/141475259