当前位置: 首页 > news >正文

NestJS入门6:日志中间件

前文参考:

NestJS入门1

NestJS入门2:创建模块

NestJS入门3:不同请求方式前后端写法

NestJS入门4:MySQL typeorm 增删改查

NestJS入门5:加入Swagger

1. 安装

nest g middleware logger middleware

2. logger.middleware.ts修改

logger.middleware.ts修改为:

​ 

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();}
}

3. app.modules.ts修改

app.modules.ts修改为:

import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { UserModule } from "./user/user.module";
import { TypeOrmModule } from "@nestjs/typeorm";
import { LoggerMiddleware } from './middleware/logger/logger.middleware';
import { MiddlewareBuilder } from '@nestjs/core';@Module({imports: [UserModule,TypeOrmModule.forRoot({type: "mysql",host: "localhost",port: 3306,username: "root",password: "root",database: "user", //数据库名称entities: ["dist/**/*.entity{.ts,.js}"], //扫描本项目中.entity.ts或者.entity.js的文件synchronize: true,}),],controllers: [AppController],providers: [AppService],
})
export class AppModule {configure(consumer: MiddlewareBuilder){consumer.apply(LoggerMiddleware).forRoutes('user');}}

 可改为星号通配符,表示任意路由

consumer.apply(LoggerMiddleware).forRoutes('*');

4. 测试

使用postman或swagger测试,后端可以看到请求方法与路径的打印

http://www.lryc.cn/news/305514.html

相关文章:

  • CommonJS、require、moudle实现两个文件传参
  • 关于php、php-fpm的解释
  • 【CMake】(8)包含库文件
  • 【 JS 进阶 】Web APIs (二)
  • 解决弹性布局父元素设置高自动换行,子元素均分高度问题(align-content: flex-start)
  • 什么是负载均衡集群?
  • 【es6】的新特性
  • Java中的多线程是如何实现的?
  • C++知识点总结(22):模拟算法
  • opengl 学习纹理
  • STM32控制max30102读取血氧心率数据(keil5工程)
  • 高级语言期末2011级A卷
  • SpringAMQP消息队列
  • 二次元风格个人主页HTML源码
  • 每日学习录
  • linux docker部署深度学习环境(docker还是conda)
  • iOS面试:4.多线程GCD
  • 云计算计算资源池与存储池访问逻辑
  • 【Linux】部署单机项目(自动化启动)---(图文并茂详细讲解)
  • 修复Microsoft Edge WebView2无法安装的问题
  • Linux命令-chgrp命令(用来变更文件或目录的所属群组)
  • linux下搭建boost、muduo、mysql、nginx
  • java基础-List常用方法
  • Android 如何添加自定义字体
  • MacOs 围炉夜话
  • 爬取数位观察城市数据知识总结
  • [About-C++] 非常实用的知识点
  • 渗透工具——kali中wpscan简介
  • 信息安全计划:它是什么、为什么需要一个以及如何开始
  • 【软件测试】定位前后端bug总结+Web/APP测试分析