Shu-How Zの小窝

Loading...

nestjs从入门到弃坑

nestjs从入门到弃坑

https://www.bilibili.com/video/BV1am4y1d71A 1

1.引言
2.初始化项目
3.控制器和路由(上)
4.控制器和路由(下)
5.提供者

就是依赖注入

防止hack

数据传输对象(DTO)(Data Transfer Object),是一种设计模式之间传输数据的软件应用系统。 数据传输目标往往是数据访问对象从数据库中检索数据。 数据传输对象与数据交互对象或数据访问对象之间的差异是一个以不具有任何行为除了存储和检索的数据(访问和存取器)。

https://blog.csdn.net/u012940001/article/details/76622730

6.中间件

Nest 中间件实际上等价于 express 中间件。下面是Express官方文档中所述的中间件功能:
中间件函数可以执行以下任务:
执行任何代码。
对请求和响应对象进行更改。
结束请求-响应周期。
洞用堆栈中的下一个中间件函数。
如果当前的中间件函数没有结束请求-响应周期,它必须调用 next()将控制传递给下一个中间件函数。否则请求将被挂起。

nest g mi logger

还有在app.module 编写 那个控制器 那个中间件

可以配置 那个控制器 那个方法 包含 忽略

还有可以注册全局中间件

7.异常处理

filter

nest g f http-exception

全局异常出来 局部控制器方法

8.管道-转换

参数引用 转换等

9.守卫

守卫
守卫是一个使用@Injectable()装饰器的类.守卫应该实现CanActivate接口.
Client Side HTTP Reguest Guard Route Handler ORequestMapping守卫有一个单独的责任,它们根据运行时出现的某些条件(例如权限,角色,防问控制列表等)来确定给定的请求是否由路由处理程序处理,这通常称为授权。在传统的 Express 应用程序中,通常由中间件处理授权。中间件是身份验证的良好选择,到目前为止,访问限制逻辑大多在中间件内,这样很好,因为诸如 token验证或将 request 对象附加属性与特定路由没有强关联.
中间件不知道调用 next()函数后会执行哪个处理程序,另一方面,守卫可以访问ExecutionContext实例,因此确切地知道接下来要执行什么,它们的设计与异常过滤器、管道和拦截器非常相似,目的是让您在请求/响应周期的正确位置插入处理逻辑,并以声明的方式进行插入。这有助于保持代码的简洁和声明性

nest g gu role

放控制器 整个控制器的方法都use

反shi器

//这这里拿到了用户的标识,我们的系统就可以查询用户的权限roturn truo

控制返回权限

10.数据库连接

,例如推荐 Sequelize(recipe)、knexis(tutorial)和

typeorm

add nestjs/sequelize sequelize sequelize-typescript mysq12

app.modle 配置

那个报错 用 typeorm

model 模型 痛thinkphp 数据库相关 对应一个表

模块module

npm install --save @types/sequelize

11.模块

分层架构

12.生成swagger文档

swag

$ npm install --save @nestjs/swagger swagger-ui-express

2022

|nest g res products 一些模板 一套 多选择

一些zsq @ 使用 可以加code让文档显示多 code等等

nest用于构建高效且可伸缩的服务端应用程序的渐进式 Node.js框架。
完美支持 Typescript面向 AOP 编程
支持 Typeorm高并发,异步非阻塞 10
Node.js 版的 spring构建微服务应用

https://docs.nestjs.cn/10/openapi

docs.nestjs.cn

old8 new10

依赖注入

控制器加@Controller('/v1') 路由

$ npm i -g @nestjs/cli
$ nest new project-name

orm sx tyorm....

要重新build

nest -h

nest g co cat 创建cat控制器

内单元测试 vs

返回对象数组 自动序列

nest g s cat 创建服务

java叫注解

jsts 叫装s器

ts内置泛型

nest start npm start

Nest.js 基于 Express 但也不是完全基于

posted @ 2024-12-12 11:06  KooTeam  阅读(96)  评论(0)    收藏  举报