书写请求日志中间件
/*** 调用日志中间价*/import { Injectable , NestMiddleware } from "@nestjs/common";import { Request , Response } from 'express'@Injectable()export class LoggerMiddleware implements NestMiddleware {use(req:Request ,res:Response,next:()=>void){const { method ,path } = req;console.log(`${method} ${path}`);next();}}
配置中间件
import { MiddlewareConsumer, Module, RequestMethod } from '@nestjs/common';import { AppController } from './app.controller';import { AppService } from './app.service';import { TemplateController } from './template/template.controller';// 导入中间价import { LoggerMiddleware} from './common/middleware/logger.middleware'@Module({imports: [],controllers: [AppController, TemplateController, ],providers: [AppService],})// 配置中间件export class AppModule {configure(consumer:MiddlewareConsumer){// 为template添加中间价consumer.apply(LoggerMiddleware) // 应用中间件.exclude({ // 排除的路径path:'template',method:RequestMethod.POST,}).forRoutes('template') // 监听路径}}
