中间件会在路由处理之前被调用,在中间件里你可以得到请求还有响应对象,也就是你有机会在请求或者响应里添加点东西或者得修改它们。
先用 nest 命令生成一个中间件, 在终端执行一下 nest generate ,这次要生成的是 middleware, 名字是 demo,放在 core/middlewares 里面。
nest generate middleware demo core/middlewares
回到项目,打开生成的中间件。中间件是一个类,这个类要用 @injectable 装饰器装饰,这个类还得实施一下 NestMiddleware。
这样在这个类里需要添加一个 use 方法,方法里面有三个参数,req 表示请求,res 是响应,还有一个 next。在方法里可以执行 next 方法,这样 Nest 会继续调用其它的中间件。
在方法里可以先用一个 console.log ,在控制台上输出 hello ~ 。