Nestjs 笔记

一、模块添加版本

1、添加如下代码

2、访问方式

复制代码
 http://localhost:3000/v1/list

二、跨域处理

1、安装依赖

复制代码
npm install cors

npm install @types/cors -D

2、app.module.ts 添加代码

TypeScript 复制代码
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import * as cors from 'cors'
 
const whiteList = ['/list']
 
async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  app.use(cors())
  await app.listen(3000);
}
bootstrap();

三、中间件

中间件是在路由处理程序之前调用的函数,中间件函数可以访问请求和响应对象

中间件函数可以执行一下任务

  • 执行任何代码
  • 对请求和响应对象进行更改
  • 结束请求-响应周期
  • 调用堆栈中的下一个中间件函数
  • 如果当前的中间件函数没有结束请求-响应周期,它必须嗲用next()将控制传递给下一个中间件函数,否则请求将被挂起!

1、全局中间件

TypeScript 复制代码
import { VersioningType } from '@nestjs/common';
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import * as session from 'express-session';

const whiteList = ['/list'];

function middleWareAll (req, res, next) {
    console.log(req.originalUrl, '全局中间件');
    if(whiteList.includes(req.originalUrl)){
        next();
    }else{
        res.send('无权限!');
    }
}

async function bootstrap() {
    const app = await NestFactory.create(AppModule);
    app.enableVersioning({
        type: VersioningType.URI
    })
    app.use(session({secret: "WangShan", name: "xm.session", rolling: true, cookie: { maxAge: null}}));
    app.use(middleWareAll);
    await app.listen(3000);
}
bootstrap();
相关推荐
摇滚侠34 分钟前
ElasticSearch 教程入门到精通,文档创建查询修改删除,笔记10、11、12
笔记·elasticsearch
崇山峻岭之间1 小时前
C++ Prime Plus 学习笔记026
c++·笔记·学习
liteblue4 小时前
DEB包解包与打包笔记
linux·笔记
崇山峻岭之间4 小时前
C++ Prime Plus 学习笔记027
c++·笔记·学习
IMPYLH5 小时前
Lua 的 tonumber 函数
开发语言·笔记·后端·junit·游戏引擎·lua
Xudde.5 小时前
BabyPass靶机渗透
笔记·学习·安全·web安全
风123456789~5 小时前
【健康管理学】第10章 中医养生学 1/2
笔记·健康管理
hit56实验室5 小时前
罗计物流为什么会失败
笔记
xian_wwq6 小时前
【学习笔记】可信工业数据空间的系统架构
笔记·学习
不会代码的小猴6 小时前
C++的第十二天笔记
开发语言·c++·笔记