一、模块添加版本
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();