-
NEST CONTROLLER, SERVICE카테고리 없음 2023. 12. 21. 17:03
CONTROLLER
컨트롤러라는 데코레이터는 컨트롤러라고 NESTJS 에게이야기하는 데코레이터
CONTROLLER라는 데코레이터를 통해 APP.CONTROLLER클래스가 컨트롤러 역할을 하는 것
DI(의존성 주입)
constructor(private readonly appService: AppService) {}
인자로 APPSERVICE객체를 넘기면 THIS.APPSERVICE라는 멤버 변수에 객체가 주입된다.
이것을 DI이라고 하며 이렇게 생성자를 통한 DI를 NEST JS에서 지원한다.
가장 중요한 점은 컨트롤러는 서비스를 반드시 의존해야하고--컨트롤러에는 반드시 서비스 로직이 있어야한다.
CONSTRUCTOR를 통해 DI로 해결해야한다.
@Get() // <- 새로운 데코레이터 등장!
getHello(): string {
return this.appService.getHello();
}이런 식으로 POST, PUT, PATCH, DELETE
데코레이터도 있으니 우리는 사용만 하면된다.
서비스
import { Injectable } from '@nestjs/common';
@Injectable() // <- 난 Inject(주입)될 수 있어! 라고 선언하는 것이에요.
export class AppService {
getHello(): string {
return 'Hello World!';
}
}서비스의 역할은 서비스는 CONTROLLER라는 고객에게 로직을 제공하는 것
요리사 역할
최종적으로 요리를 제공해야한다.