Dieses Beispiel zeigt eine grundlegende CRUD -Operation (erstellen, lesen, aktualisieren, löschen) für eine Cat
-Entität unter Verwendung von NestJs. Wir werden Typorm für die Datenbankinteraktion verwenden. Angenommen, Sie haben eine Cat
-Entität wie folgt definiert:
import { Entity, PrimaryGeneratedColumn, Column } from 'typeorm'; @Entity() export class Cat { @PrimaryGeneratedColumn() id: number; @Column() name: string; @Column() age: number; }
Erstellen Sie nun eine cats.controller.ts
-Datei:
import { Controller, Get, Post, Body, Param, Delete, Put } from '@nestjs/common'; import { CreateCatDto } from './create-cat.dto'; import { Cat } from './cat.entity'; import { CatsService } from './cats.service'; @Controller('cats') export class CatsController { constructor(private readonly catsService: CatsService) {} @Post() async create(@Body() createCatDto: CreateCatDto): Promise<Cat> { return this.catsService.create(createCatDto); } @Get() async findAll(): Promise<Cat[]> { return this.catsService.findAll(); } @Get(':id') async findOne(@Param('id') id: string): Promise<Cat> { return this.catsService.findOne(+id); } @Put(':id') async update(@Param('id') id: string, @Body() updateCatDto: CreateCatDto): Promise<Cat> { return this.catsService.update(+id, updateCatDto); } @Delete(':id') async remove(@Param('id') id: string): Promise<void> { return this.catsService.remove(+id); } }
und eine entsprechende cats.service.ts
:
import { Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { Repository } from 'typeorm'; import { Cat } from './cat.entity'; import { CreateCatDto } from './create-cat.dto'; @Injectable() export class CatsService { constructor( @InjectRepository(Cat) private catsRepository: Repository<Cat>, ) {} async create(cat: CreateCatDto): Promise<Cat> { const newCat = this.catsRepository.create(cat); return this.catsRepository.save(newCat); } async findAll(): Promise<Cat[]> { return this.catsRepository.find(); } async findOne(id: number): Promise<Cat> { return this.catsRepository.findOneBy({ id }); } async update(id: number, cat: CreateCatDto): Promise<Cat> { await this.catsRepository.update(id, cat); return this.catsRepository.findOneBy({ id }); } async remove(id: number): Promise<void> { await this.catsRepository.delete(id); } }
Denken Sie daran, die erforderlichen Pakete zu installieren: npm install @nestjs/typeorm typeorm
und konfigurieren Sie Ihre Datenbankverbindung in Ihrem ormconfig.json
in Ihrem
Das obige ist der detaillierte Inhalt vonBeispiel für Nestjs Crud Operations. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!