What is Controller?
- 컨트롤러는 특정 요청(request)를 받고 처리된 결과를 응답(response)으로 돌려주는 인터페이스이다.
- 엔드포인트 라우팅(routing) 메커니즘을 통해 각 컨트롤러가 받을 수 있는 요청을 분류한다.
- 컨트롤러를 사용 목적에 따라 구분하면 구조적이고 모듈화된 소프트웨어를 작성할 수 있다.
컨트롤러 작성 : nest CLI를 이용하기
$ nest g controller [name]
- 기본 컨트롤러를 만들기 위해 클래스와
Decorators
를 사용한다.****
- 데코레이터는 클래스를 필요한 메타 데이터와 연결하고, Nest가 라우팅 맵을 생성 할 수 있도록 한다.
- 쉽게 말해, 요청을 해당 컨트롤러에 연결한다.
라우팅(Routing)
라우팅의 기능
-
서버가 수행해야 하는 많은 작업을, 데코레이터로 기술함으로써 부담을 덜 수 있다.
- 또한 라우팅 경로를 데코레이터의 인자로 관리할 수 있다.
-
@Controller
: 데코레이터를 클래스에 선언하는 것으로 해당 클래스는 컨트롤러의 역할을 하게 된다.