express
我所理解的中间件就是在请求打过来的过程中,对请求或者请求内容(req.body、req.query)做一些特殊处理。并且,中间件一定是函数。
比如,body-parser,会特殊处理post请求,使得express支持post请求
比如,Check.checkToken请求,会对打过来的请求的请求头进行token校验,如果存在token,就放行,否则返回 “你没有权限”
nest
在app.module中配置
export class AppModule {
configure(consumer: MiddlewareConsumer) {
// 为 hello 路由添加中间件
consumer
.apply(LoggerMiddleware)
.forRoutes('hello');
}
}
这里的LoggerMiddleware就是中间件,内容如下:
import { Injectable, NestMiddleware } from '@nestjs/common';
import { Request, Response } from 'express';
@Injectable()
export class LoggerMiddlewar