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.rhkb.cn/news/260838.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入理解java虚拟机---自动内存管理

2.2 运行时数据区域 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而一直存在,有些区域则是依赖用户线程的启动和结束而建立和销…

BioTech - 大型蛋白质复合物的组装流程 (CombFold)

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/136187314 CombFold是用于预测大型蛋白质复合物结构的组合和分层组装算法,利用AlphaFold2预测的亚基之间的成对相互作用。CombFold的组…

亿道丨三防平板pad丨三防平板是指哪三防丨三防工业级平板电脑

三防工业级平板电脑成为许多行业中的重要工具。本文将介绍三防工业级平板电脑的特点以及其在各个领域中的广泛应用。 三防工业级平板电脑的特点 三防工业级平板电脑是指具备防水、防尘和防震功能的平板电脑。这些特点使得它们能够在恶劣环境中工作,如沙尘飞扬的工地…

SpringCloud-Nacos集群搭建

本文详细介绍了如何在SpringCloud环境中搭建Nacos集群,为读者提供了一份清晰而详尽的指南。通过逐步演示每个关键步骤,包括安装、配置以及Nginx的负载均衡设置,读者能够轻松理解并操作整个搭建过程。 一、Nacos集群示意图 Nacos&#xff0…

ctfshow MISC类部分wp

2023愚人杯 1. 阿尼亚哇库哇库 压缩包里两个文件: 阿尼亚哇库哇库!.doc 和 HINT.png 先看HINT.png,图片打不开 使用01打开: 发现文件头有问题,前几位修改为89 50 4E 47后,图片打开依然不正常。发现长高尺寸不对。用脚本根据CR…

滑动变阻器在电路中的连接方式有哪些?

滑动变阻器是可以改变电阻值的电子元件,广泛应用于各种电路中。在电路中,滑动变阻器的连接方式主要有以下几种: 1. 串联连接:滑动变阻器与被测电阻串联在一起,通过改变滑动变阻器的阻值来改变整个电路的总阻值。这种连…

linux---内存管理

一 虚拟内存 即使是现代操作系统中,内存依然是计算机中很宝贵的资源,看看你电脑几个T固态硬盘,再看看内存大小就知道了。 为了充分利用和管理系统内存资源,Linux采用虚拟内存管理技术,利用虚拟内存技术让每个进程都有…

Flume(二)【Flume 进阶使用】

前言 学数仓的时候发现 flume 落了一点,赶紧补齐。 1、Flume 事务 Source 在往 Channel 发送数据之前会开启一个 Put 事务: doPut:将批量数据写入临时缓冲区 putList(当 source 中的数据达到 batchsize 或者 超过特定的时间就会…

创新工作方式:低代码拖拉拽实现业务流程智能化

前言 “低代码”这个火热的概念在近些年来备受追捧,由此引发了业内关于其前景和应用范围的广泛热议。作为一种新兴的开发方式,低代码技术正在站在技术领域的风口浪尖,成为行业的一个重要趋势。它以其高效、灵活和可定制的特性,为…

机器人十大前沿技术(2023-2024年)

2023-2024年机器人十大前沿技术 1. 具身智能与垂直大模型 具身智能是指拥有自主感知、交互和行动能力的智能体,能够与环境进行实时互动,从而实现对环境的理解和适应。 “大模型”是指在深度学习和人工智能领域中,使用大量参数和数据进行训…

python自学...

一、稍微高级一点的。。。 1. 闭包(跟js差不多) 2. 装饰器 就是spring的aop 3. 多线程

解决ubuntu登录密码问题

解决ubuntu登录密码问题 不要随便删除密码,不要随便改密码,很容导致密码过期,或者密码无效。参考了很多人的做法,都没有得到解决。下面的过程,够详细了,我就是这么搞好的。 1、重启虚拟机,不停…

RMAN备份与恢复

文章目录 一、RMAN介绍二、全量备份三、增量备份0级备份1级增量备份累积性差量备份总结 四、压缩备份压缩备份介绍压缩备份操作压缩备份优缺点 五、异常恢复1、恢复前的准备2、恢复数据库 六、RMAN相关参数 一、RMAN介绍 RMAN(Recovery Manager)是Oracl…

react使用Map方法遍历列表不显示的问题

问题: 在最开始搭建选项卡的时候,我的js代码是这样的 import React, { Component } from react import ./css/02-maizuo.css export default class App extends Component {state {list: [{id: 1,text: 电影},{id: 2,text: 影院}, {id: 3,text: 我的}…

天锐绿盾|防泄密系统|计算机文件数据\资料安全管理软件

“天锐绿盾”似乎是一款专注于防泄密和计算机文件数据/资料安全管理的软件。在信息安全日益受到重视的今天,这样的软件对于保护企业的核心数据资产和防止敏感信息泄露至关重要。 通用地址:www.drhchina.com 防泄密系统的主要功能通常包括: 文…

【力扣白嫖日记】1965.丢失信息的雇员

前言 练习sql语句,所有题目来自于力扣(https://leetcode.cn/problemset/database/)的免费数据库练习题。 今日题目: 1965.丢失信息的雇员 表:Employees 列名类型employee_idintnamevarchar employee_id 是该表中具…

数据结构-邻接链表

介绍 邻接矩阵是运用较多的一种储存图的方法,但如果一张网图边数较少,就会出现二维矩阵中大部分数据为0的情况,浪费储存空间 为了避免空间浪费,也可以采用数组与链表结合的方式来存储图 假设有这样一张图 我们可以先用一个数组…

Facebook元宇宙探索:虚拟社交的新时代

在数字化时代的浪潮中,人类社交的模式和形式正在经历着翻天覆地的变化。而当下,Facebook作为全球最大的社交媒体平台之一,正积极探索着元宇宙的未来。元宇宙被认为是虚拟世界的下一步进化,它将重新定义人们的社交方式、娱乐体验以…

redis的搭建 RabbitMq搭建

官网 Download | Redis wget https://github.com/redis/redis/archive/7.2.4.tar.gz 编译安装 yum install gcc g tar -zxvf redis-7.2.4.tar.gz -C /usr/localcd /usr/local/redis make && make install 常见报错 zmalloc.h:50:10: fatal error: jemalloc/jemal…

【Linux 04】编辑器 vim 详细介绍

文章目录 🌈 Ⅰ 基本概念🌈 Ⅱ 基本操作1. 进入 / 退出 vim2. vim 模式切换 🌈 Ⅲ 命令模式1. 光标的移动2. 复制与粘贴3. 剪切与删除4. 撤销与恢复 🌈 Ⅳ 底行模式1. 保存文件2. 查找字符3. 退出文件4. 替换内容5. 显示行号6. 外…