重生之我要当前端大王--node篇--02express路由,中间件

重生之我要当前端大王–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,中间件会进行拦截
在这里插入图片描述

总结

看到这,你已经学会了如何使用路由模块化管理接口,以及使用中间件进行鉴权,又学习到一个小妙招,小英家的牛迫不及待给你点赞,,快和小英家的牛一起来邂逅一下路由和中间件吧,你的点赞是我更新的动力。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值