1. Provider
- 클래스, 팩토리, 값 등을 등록하여 Nest.js 애플리케이션 내에서 의존성 주입을 통해 사용할 수 있게 해준다.
1. service - 비즈니스 로직을 처리하기 위한 서비스 클래스를 정의할 때 사용. DI를 통해 Cotroller나 다른 서비스에서 사용 된다.
import { Injectable } from '@nestjs/common';
import { Cat } from './interfaces/cat.interface';
@Injectable()
export class CatsService {
private readonly cats: Cat[] = [];
create(cat: Cat) {
this.cats.push(cat);
}
findAll(): Cat[] {
return this.cats;
}
}
==> service
export interface Cat {
name: string;
age: number;
breed: string;
}
==> interface
==> service와 interface를 이용하여 controller를 작성하면 이렇게 작성할 수 있다.
import { Controller, Get, Post, Body } from '@nestjs/common';
import { CreateCatDto } from './dto/create-cat.dto';
import { CatsService } from './cats.service';
import { Cat } from './interfaces/cat.interface';
@Controller('cats')
export class CatsController {
constructor(private catsService: CatsService) {}
@Post()
async create(@Body() createCatDto: CreateCatDto) {
this.catsService.create(createCatDto);
}
@Get()
async findAll(): Promise<Cat[]> {
return this.catsService.findAll();
}
}
- private을 통해 선언과 동시에 초기화가 이루어진다.
'JavaScript Dev. > Nest.js' 카테고리의 다른 글
Nest.js - Guards (0) | 2024.03.12 |
---|---|
Nest.js - middleware (0) | 2024.03.01 |
Nest.js - Controller (0) | 2024.02.28 |
Nest.js - Module (0) | 2024.02.28 |
Nest.js 설치부터 기본 개념까지 (1) | 2024.02.06 |