이제 Cat 파일을 만들어 봅시다 : Cat
<code class="typescript">import { Entity, PrimaryGeneratedColumn, Column } from 'typeorm'; @Entity() export class Cat { @PrimaryGeneratedColumn() id: number; @Column() name: string; @Column() age: number; }</code>및 해당
: cats.controller.ts
<code class="typescript">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); } }</code>
Nestjs에서 기본 CRUD 작업을 구현하려면 어떻게해야합니까? cats.service.ts
Nestjs에서 기본 CRUD 작업을 구현하는 방법은 일반적으로 다음 단계를 포함합니다.
<code class="typescript">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); } }</code>Entity를 정의하십시오 :
타입 모델 사용을 나타내는 유형 클래스 생성 (@entity). @PrimaryGeneratedColumn, @Column 등). 이것은 데이터베이스의 데이터 구조를 정의합니다. npm install @nestjs/typeorm typeorm
서비스 생성 : ormconfig.json
이 레이어는 데이터와 상호 작용하기위한 비즈니스 로직을 처리합니다. 데이터베이스 작업을 수행하기 위해 저장소 (일반적으로 TypeOrm에서 제공)를 사용합니다. 이 서비스는 데이터 액세스 로직을 캡슐화하여 컨트롤러가 요청 처리에 깨끗하고 집중할 수 있도록합니다.
데이터 전송 개체 (DTOS) :
HTTP 요청에서받은 데이터를 검증하고 구조화하기 위해 DTOS를 만듭니다. 이것은 보안을 향상시키고 코드 가독성을 향상시킵니다.위 내용은 Nestjs Crud 작업 예제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!