본문 바로가기
NestJs

[NestJs] Controller 및 Service 생성

by teamnova 2024. 2. 20.

안녕하세요. 오늘은 지난 시간에 이어 Controller와 Service를 생성해 보겠습니다.

NestJs는 기본적으로 모듈화되어 있고 이로 인해 유지보수와 개발이 편한데요 기본적인 구조는 아래와 같습니다.

위 구조를 보면 Root Module에 다양한 모듈이 Import가 되어 있는것을 볼 수 있는데 Nestjs는 각 기능을 모듈화 하고 그 모듈 안에서 개발이 가능하여 분리도 잘되어 있고 코드를 보기에도 편합니다.

그리고 각 모듈에는 Controller와 Service가 있습니다.

 

Controller는 클라이언트에서 들어오는 Request를 받는 역할과 Response를 하는 역할을 합니다.

우선 지난 시간에 생성한 프로젝트 구조를 조금 수정해보겠습니다.

생성된 폴더 안에는 src폴더가 있고 그 안에 app.module, app.controller, app.service파일이 있는데 이 중 컨트롤러와 서비스는 삭제하겠습니다.

이젠 app.module이 Root Module이 될 것이고, 기능 별로 모듈을 만들어서 그 안에 controller와 service를 생성할 겁니다.

먼저 간단하게 게시판 기능을 위한 모듈을 생성해 보겠습니다.

nest g module board

이러면 src폴더 안에 board라는 폴더가 생성된 걸 확인할 수 있습니다. 이어서 board의 컨트롤러와 서비스를 생성해 볼게요.

nest g controller board --no-spec
nest g service board --no-spec

--no-spec을 붙이는 이유는 안붙이게 되면 test파일이 생성이 같이 되는데 이 파일은 아직 사용하지 않을거기 때문에 위와 같이 controller와 service를 생성합니다.

cli을 통해 모듈,컨트롤러,서비스를 생성했는데 app.module 그러니까 root module에 자동으로 board module이 import 된걸 확인 할 수 있습니다.

이상으로 이번 포스팅은 컨트롤러와 서비스 생성하기였습니다.