웹/Node

[NestJS] controller 알아보기

체리1001 2022. 6. 24.

이번 글에서는 src 디렉토리 아래에 있는 controller에 대해 알아볼 예정이다.

 

controller란?

 

일반적으로 웹 어플리케이션에서 controller는 외부의 요청을 처리하는 모듈을 뜻한다.

즉, 클라이언트의 요청을 받아 요청에 따른 동작을 수행하고 응답을 반환하는 역할을 하는 것이다.

 

Node.js의 express를 사용해 본 사람은 컨트롤러가 라우터 역할을 한다고 생각하면 된다.

 

express의 라우팅 코드
NestJS의 controller 코드

 

컨트롤러 생성

 

새로운 컨트롤러를 생성해보자.

nest g co

위의 명령을 통해 새로운 컨트롤러를 생성할 수 있다.

 

명령을 실행한 뒤 controller의 이름을 입력하면 새로운 컨트롤러가 생성된다.

종종 UnhandledPromiseRejectionWarning: Error: Unknown argument skipImport. Did you mean skip-import? 라는 에러가 나올 수 있는데 src 폴더로 이동한 뒤 다시 명령을 실행하면 정상 작동한다.

 

 

생성된 user.controller.ts 파일을 살펴보면 @Controller('user')라고 적힌 코드를 볼 수 있는데 이것을 '데코레이터' 라고 한다.

기본적으로 컨트롤러를 정의할 때에는 @Controller() 데코레이터를 사용한다. (spring을 사용해 본 사람은 데코레이터가 어노테이션 역할을 한다고 생각하면 된다)

 

위의 코드처럼 데코레이터로 경로를 지정해주면 '/user'로 오는 요청은 모두 userController가 처리하게 된다.

이를 통해 express에서 라우터 파일을 나눠 구분해주었던 것 처럼 controller에도 관련 경로들을 그룹화하여 처리할 수 있다.

 

' > Node' 카테고리의 다른 글

[NestJS] NestJS 프로젝트 시작하기  (0) 2022.06.22

댓글