日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

手把手教你用nestjs框架7分钟生成crud风格接口

發布時間:2025/3/21 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 手把手教你用nestjs框架7分钟生成crud风格接口 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Tobenew? ,感謝!

node.js?mongodbnestjs

1.安裝nest.js框架

nest.js官方開發文檔

  • 全局安裝nest框架
npm i -g @nestjs/cli

2. 新建一個nestjs項目

nest new nest-api

選擇是用npm還是yarn裝依賴,我是直接回車選擇npm

如果覺得慢此處可以取消,用vscode打開nest-api項目

終端再來安裝依賴

npm i

等待安裝完成

npm run start


如果是這樣,則項目是成功跑起來的

3. 新建一個公共庫文件,用來放mongose數據庫的設計model

nest g?lib?db?@libs

輸入@libs 回車

此時應該多了一個libs文件夾

4. 安裝nest數據庫依賴

npm?i nestjs-typegoose @typegoose/typegoose mongoose @types/mongoose nestjs-mongoose-crud @nestjs/swagger swagger-ui-express

5. 創建user表的model

  • 在libs/src 目錄下新建 models 文件夾,然后在models文件夾下新建 user.model.ts 的ts文件

  • 在文件里寫入如下代碼
import { prop, modelOptions } from '@typegoose/typegoose';import {ApiProperty} from '@nestjs/swagger';// 給添加的數據加入時間戳@modelOptions({schemaOptions:{timestamps:true} })export class User{@ApiProperty({description:'用戶名',example:'user1'})@prop()username: string@ApiProperty({description:'密碼',example:'password1'})@prop()password: string}

6. 用nest命令創建users文件夾

nest g mo -p?users users nest g co -p?users users

  • 然后在users/users.controller.ts 里寫入控制代碼
import { Controller } from '@nestjs/common';import { InjectModel } from 'nestjs-typegoose';import {User} from '@libs/db/models/user.model'import { Crud } from "nestjs-mongoose-crud";import {ApiTags} from '@nestjs/swagger'@Crud({// User采用增刪改查接口模式model:User})@Controller('users')@ApiTags('用戶')export class UsersController {// 注入User模型constructor(@InjectModel(User) private readonly model){}}

7.在libs/db/src/db.model.ts里配置db

  • db.model.ts 寫入如下代碼
  • 注意!此處用的是本人數據庫地址,請自行申請一個免費線上數據庫地址,或者自己的本地mongoDB數據庫地址
  • 如何申請線上數據庫 請移步?https://segmentfault.com/a/11...
import { Module, Global } from '@nestjs/common';import { DbService } from './db.service';import { TypegooseModule } from 'nestjs-typegoose';import { User } from './models/user.model';const models = TypegooseModule.forFeature([User]);@Global()@Module({imports: [TypegooseModule.forRoot(' mongodb+srv://root:root@cluster0-bujei.mongodb.net/nest-api?retryWrites=true&w=majority ',{useCreateIndex: true,useUnifiedTopology: true,useNewUrlParser: true,useFindAndModify: false,},),models,],providers: [DbService],exports: [DbService, models],})export class DbModule {}

8.在根目錄的src/app.module.ts 里引用db 以及users

  • 寫入如下代碼
import { Module } from '@nestjs/common';import { AppController } from './app.controller';import { AppService } from './app.service';import { DbModule } from '@libs/db';import { UsersModule } from './users/users.module';@Module({imports: [DbModule, UsersModule],controllers: [AppController],providers: [AppService],})export class AppModule {}

9.在main.ts里面配置swagger 以及啟動端口

  • 根目錄src/main.ts 里面寫入如下代碼
import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module';import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger';async function bootstrap() {const app = await NestFactory.create(AppModule);app.enableCors();const options = new DocumentBuilder().setTitle('nest后臺API').setDescription('供后臺管理界面調用的服務端API').setVersion('1.0')// .addTag('cats').build();const document = SwaggerModule.createDocument(app, options);SwaggerModule.setup('api-docs', app, document);await app.listen(3000);console.log('http://localhost:3000');console.log('http://localhost:3000/api-docs'); } bootstrap();

10.啟動后端服務

npm?run?start

如圖就是啟動服務成功了

http://localhost:3000 就是你的本地接口地址

http://localhost:3000/api-docs 就是你的本地接口文檔地址

看,寫簡單crud接口就是這么簡單

?

總結

以上是生活随笔為你收集整理的手把手教你用nestjs框架7分钟生成crud风格接口的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。