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();
相关推荐
zzzkk200916 分钟前
BambuStudio学习笔记:MTUtils
笔记·学习
爱学习的小王!35 分钟前
有关MyBatis的动态SQL
java·笔记·sql·学习·mybatis
一条晒干的咸魚1 小时前
【C#学习笔记03】进制转换与反码、补码、原码
开发语言·笔记·学习·c#
王嘉俊9251 小时前
MySQL 入门笔记
数据库·笔记·sql·mysql·adb
你的微笑像拥抱2 小时前
npm-shrinkwrap.json 与 package-lock.json 区别和联系
笔记
niu_sama2 小时前
[杂学笔记] TCP和UDP的区别,对http接口解释 , Cookie和Session的区别 ,http和https的区别 , 智能指针 ,断点续传
笔记·tcp/ip·http
淳杰2 小时前
ubuntu-学习笔记-nginx+php
笔记·学习·ubuntu
阿噜噜小栈2 小时前
如何用AI制作我们记忆中的乡村夜景
人工智能·经验分享·笔记
Angindem3 小时前
RabbitMQ (Java)学习笔记
笔记·学习·rabbitmq
大白的编程日记.3 小时前
【Git学习笔记】Git初识及其结构原理分析(一)
笔记·git·学习