其他分享
首页 > 其他分享> > nest.js学习(1)

nest.js学习(1)

作者:互联网

nest.js

中文官网: https://docs.nestjs.cn/8/introduction在这里插入图片描述

基本使用

在这里插入图片描述
当我们按照官网执行开启项目后就如下结构
在这里插入图片描述
app跟模块,控制器,以及提供者。
在这里插入图片描述
控制器用来控制路由,我们首先看下控制器,
在这里插入图片描述
看到这种其实可以想到其用法了,在这里插入图片描述
这里用来写路由相关的控制。
appService是数据提供者,如
在这里插入图片描述
类似于依赖注解这样。

关联Mongodb数据库

在这里插入图片描述

创建集合

在这里插入图片描述

使用

在这里插入图片描述
与express框架这些关联数据库是差不多的。

接口类定义

在这里插入图片描述
这里可以获取到像express中的req.params,req.body,req.query这些,而且比如这个post请求的请求体Body可以定义数据类型在这里插入图片描述
这样就可以正常使用了。
在前台只需要发送这个数据体就可以创建一个贴子,并且存到数据库。

edit

在这里插入图片描述

验证管道

yarn add class-vaildator class-transform
在这里插入图片描述
在这里插入图片描述
当title的属性没有传的时候就会报错。
在这里插入图片描述

使用依赖注入

上面我们写的代码都是类似于express的,后期解耦难,nest官网提供了其他方法
在这里插入图片描述
首先连接,将其导入到appmodule中,
在这里插入图片描述
在这里导入对应的模块,
在这里插入图片描述
使用依赖注入的方法,这样就可以通过catModel访问这个集合。
看实际代码:
npm i --save nestjs-typegoose

连接数据库

在这里插入图片描述

定义集合

在这里插入图片描述

在模块中注册集合

在这里插入图片描述

在控制器中依赖注入

在这里插入图片描述
这样在这个控制器中就可以
在这里插入图片描述
this.PostMode去找打这个集合进行操作。

CRUD

我们可以会对很多模块进行增删改查,所以可以实现一个统一的接口。
yarn add nestjs-mongoose-crud
这个库是b站全栈之巅作者写的,具体用法如图
在这里插入图片描述
讲要用的模型注入进去,然后下面的Model就是通用的了,比如你可以注册Post模型,可以注册user模型等等。接口共用。
在这里插入图片描述
接着把全部接口注释掉,因为这个库默认帮助我们实现五个接口,
在这里插入图片描述
曾删改查。
试下第一个
在这里插入图片描述
正常返回。

提示

在这里插入图片描述
我们可以在定义集合的时候
在这里插入图片描述
这样定义,就有例子了。

接着我们细看这个Crud

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里就可以扩张用法,比如
在这里插入图片描述
给find方法加上装饰器,
在这里插入图片描述

标签:控制器,req,可以,express,js,学习,集合,nest
来源: https://blog.csdn.net/lin_fightin/article/details/119282773