Nodejs+Vuejs全栈开发实战(2)

1.我们把后台管理端和前端服务器的接口用admin和server两个文件夹区分开了,但是他们都要连接数据库,所以我们来写一个共同的接口。注意:重新打开一个cmd命令端口,不要把前面nest start -w admin的页面关闭了。

cd server

nest g lib db

创建一个库lib,它独立于apps模块,lib中包含一个db模块,默认的前缀是@app,此处为了方便,更改为@libs

nest g lib db

2.将db模块引入admin模块的module中

3.安装针对ts的数据库typegoose

npm add nestjs-typegoose @typegoose/typegoose

因为typegoose依赖于mongoose,所以还要安装 mongoose

npm add mongoose @types/mongoose

这里有个坑,有些依赖是需要手动安装的。如果出现下面这种情况,就自己

npm install mongoose@^5.10.6

这里我们默认电脑是安装好了mongodb数据库并启动服务的,否则会报连接数据库的错。没有安装的百度一下自行安装。

4.在db模块完成数据库连接

5.在libs目录下创建一个新的文件夹models,用来存放所有的数据库模型

然后在models文件夹下创建一个user.model.ts文件,假设user模块中有两个属性:username和password,文件内容:

6.将user模型与db.module.ts相关联

7.现在admin就可以直接使用user了,但是为了解耦和代码清晰,我们不将user放入app层级,而是在admin的src目录下新建一个子模块,此处-p admin 用于指定user新建于admin子项目下:

nest g mo -p admin users

同时新建一个UserController(co控制器)

nest g co -p admin users

8.添加模块的 crud,crud这个接口可以实现增删查改

npm add nestjs-mongoose-crud

9.安装接口文档依赖

npm add @nestjs/swagger swagger-ui-express

10.在users控制器中注入InjectModel模块实现对用户的增删查改。

在浏览器中打开http://localhost:3000/users 出现下图,说明模块功能正常。

11.现在我们来实现后台接口文档的编写。去官方文档复制swagger的这段代码到admin下面的main.ts中,并添加好依赖。

然后修改api文档接口为api-docs

12.在浏览器中打开http://localhost:3000/api-docs,出现下面图片中内容

13.修改main.ts中关于标题的内容,给文档改名。

14.给用户控制器添加标签。

15.给libs/db下面的数据添加描述和时间戳。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容