
nest g service [경로]/[모듈명]
nest g service api/cats
-> src/api/cats/cats.service.ts 생성
nest g service api/cats --no-sepc
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;
}
}
@Controller('cats')
export class CatsController {
constructor(private readonly catsService: CatsService) {} // DI (의존성 주입)
import { Module } from '@nestjs/common';
import { CatsController } from './cats/cats.controller';
import { CatsService } from './cats/cats.service';
@Module({
controllers: [CatsController], // 요청을 처리하는 컨트롤러 등록
providers: [CatsService], // 주입받을 서비스(= Provider) 등록
})
export class AppModule {}
import { Injectable } from '@nestjs/common';
@Injectable()
export class CatsService {
private count = 0;
increment() {
this.count++;
return this.count;
}
}
import { Injectable, Scope } from '@nestjs/common';
@Injectable({ scope: Scope.REQUEST }) // 요청 단위 스코프 설정
export class CatsService {
private count = 0;
increment() {
this.count++;
return this.count;
}
}