본문 바로가기
개발/nestjs

NestJS 시작하기!

by 발명가H 2023. 4. 12.

NestJS는 Node.js와 Express.js 위에 구축된 Typescript 기반 오픈소스 웹 애플리케이션 프레임워크이다. 확장가능하고 모듈식이며 유지관리가 용이하도록 설계되었다.

모듈, 컨트롤러, 서비스 및 공급자에 대해 Angular와 유사한 아키텍쳐 원칙을 따르고 있다. 

 

개인적으로 타입스크립트가 기본탑재되어 있다는 점에서 편하다고 생각했고, REST API를 만들 수 있는 템플릿을 제공해주는 것도 편리했다. Node에서 Express 기반으로 만들때에 비해 확실히 군더더기가 적어진 느낌이다. @GET @POST 같은 데코레이터의 사용도 익숙해지니 편리하다.

 

NestJS를 처음 배우기 시작하면서 

- 간단한 POST, GET, PATCH, DELETE API를 만드는 것부터 했고,

- 회원가입과 로그인 API도 만들었다.

 

조금 헷갈렸던 것은 Controller와 Service를 구분하는 것이다.

챗GPT에게 물어보니 다음과 같이 대답한다.

 

NestJS에서 컨트롤러와 서비스는 책임이 다른 두 가지 별개의 개념입니다.

컨트롤러는 들어오는 HTTP 요청 처리, 데이터 처리 및 HTTP 응답 반환을 담당합니다. 클라이언트와 서버 측 애플리케이션 간의 인터페이스 역할을 합니다. 컨트롤러는 요청/응답 주기를 처리하고 클라이언트가 리소스로 수행할 수 있는 작업과 수행할 수 없는 작업을 결정합니다.

반면 서비스는 애플리케이션의 비즈니스 로직 구현을 담당합니다. 여기에는 데이터를 조작하고 컨트롤러에 의해 노출되는 작업을 구현하는 코드가 포함되어 있습니다. 서비스는 일반적으로 여러 컨트롤러에서 공유할 수 있는 재사용 가능한 구성 요소입니다.

NestJS에서 컨트롤러와 서비스의 주요 차이점은 그들의 책임입니다. 컨트롤러는 요청/응답 주기 처리를 담당하고 서비스는 애플리케이션의 비즈니스 로직 구현을 담당합니다. 이러한 책임을 분리하면 응용 프로그램이 더 모듈화되고 테스트 및 유지 관리가 더 쉬워집니다.

 

 

 

 

 

 

'개발 > nestjs' 카테고리의 다른 글

Nest.js에서 소셜 로그인 API 사용하기  (0) 2023.04.23