모듈 클래스를 정의
컨트롤러 클래스
서비스 클래스
import { Controller, Get, Post, Put, Delete } from '@nesetjs/common';
@Controller('cats')
export class CatsController {
@Get()
findAll() {
// 모든 고양이를 반환합니다.
}
@Post()
create() {
// 새로운 고양이를 생성합니다.
}
@Put(':id')
update(id: string) {
// 특정 고양이의 정보를 업데이트합니다.
}
@Delete(':id')
remove(id: string) {
// 특정 고양이를 삭제합니다.
}
}
@Req()
, @Res()
import { Controller, Get, Req, Res } from '@nestjs/common';
import { Request, Response } from 'express';
@Controller('cats')
export class CatsController {
@Get()
findall(@Req() request: Requeset, @Res() response: Response): Response {
cosole.log(request.url);
return response.status(200).send('All cats');
}
}
@Body()
, @Query()
, @Param()
import { Controller, Post, Body, Param, Query } from '@nestjs/common';
import { CreateCatHomeDto } from './dto/create-cat-home.dto';
@Contorller('cats')
export class CatsController {
@Post('/:name/home')
createCatHome(
@Param('name') name: string,
@Query('type') type: string,
@Body() createCatHomeDto: CreateCatHomeDto
) {
// createCatHomeDto를 사용하여 :name을 가진 고양이의 집을 만들어 줍니다.
}
}
컨트롤러의 메서드에서 들어오는 요청을 처리 할때 필요한 데이터를 추출하는데 사용
import { Entity, Column, PrimaryGeneratiedColumn, CreateDateColumn, UpdateDateColumn } from 'typeorm';
@Entity()
export class Cat {
@PrimaryGeneratedColumn()
id: number;
@Column()
name: string;
@Column()
age: number;
@CreateDateColumn()
createdAt: Date;
@UpdateDateColumn()
updatedAt: Date;
}
클래스의 속성에 추가적인 메타데이터를 제공 하거 나 속성의 동작을 변경하는데 사용