node框架之express

安装什么的,我在这儿就不多讲了,相信能找到我博客的,说明你对express也有一定的了解了。不多说,我就直接主题吧。

中间件的使用

其实,跟多数的开发语言的中间件是一样的道理。在请求某个接口的时候先执行他,这就是中间件的原理。

路由中间件
//中间件的方法
var jwt = require('jsonwebtoken');
const checkAccessToken = (req, res, next) => {
   
    //console.log(req.get('Connection'), '请求头')
    debugger;
    const loginToken = 'loginToken' //用于加密
    let token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhIjoxLCJiIjoyLCJpYXQiOjE2OTQ2NzcyMDgsImV4cCI6MTY5NDY3NzIxOH0.8kyiWkPT8osZFTWmUbBTvFIVccyqCy26iY4rMqX6Pmk'
    try {
   
        jwt.verify(token, loginToken)
        next();
    } catch (error) {
   
        res.status(500);
        res.send({
    code: 500, 'msg': 'token过期' })
        next();
    }
}
//在路由中使用中间件
router.get('/login/loginActive', checkAccessToken, LoginController.loginActive)
//当然,如果路由中需要执行多个中间件,我们可以像下面这样子写
router.get('/login/loginActive', [checkAccessToken , abc,def,ghi], LoginController.loginActive)//abc , def , ghi 为中间件的方法名字
全局中间件

全局中间件跟路由中间件没太大的区别,定义中间件是一样的,只是在配置生效的时候有些不一样

const testCheck = (req, res, next) => {
   
    console.log('全局中间件')
    next();
}
router.use(testCheck) //全局中间件
router.get('/login', LoginController.login) //路由
router.get('/user/getList', UserController.getUserList) //路由
router.get('/login/loginActive', LoginController.loginActive) //路由
//这样,在进料入每一个路由的时候都会先走 testCheck  这个中间件的方法
//需要注意的时,全局中间件的配置的时候,一定要在路由前面。不然,不会生效

获取请求头

在node中,获取请求头,我们只需要像下面的代码

router.get('/login/loginActive', checkAccessToken, (req,res)=>{
   
    let Cookie = req.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值