[TIL] Nest.js - Service

sooyoung choi·2023년 12월 7일
0

nestjs

목록 보기
2/4
post-thumbnail

Service

  • 비즈니스 로직
  • @Injectable 데코레이터로 감싸져서 모듈에 제공된다.
  • 애플리케이션 전체에서 사용될 수 있다.
  • 데이터 유효성 처리, 데이터베이스에 아이템 생성 등의 작업하는 부분을 처리하는 곳이다.
  • 종속성으로 주입을 해야 Controller에서 Service를 쓸 수 있다.

생성하기

nest g service boards --no-spec
  • g : generate
  • boards : 이름
  • --no-spec : 테스트 코드를 생성하지 않겠다.

Service를 굳이 분리하는 이유?

  • 서비스는 요청, 응답에 대해서는 모른다.
  • 컨트롤러는 안다.
    → 라우터에서 다 처리해줬던 express와는 다르게 각각 독립적으로 쓸 수 있고, 재사용성이 좋아지며 테스트도 용이해진다.

🤷‍♀️ express는 독립적으로 쓸 수 없는걸까?

  • express는 미들웨어로 빼서 쓸 수는 있지만, 자율적인 구조이다.
    nest는 구조적 강제성을 가지며, express는 자율적 구조를 가진다.

0개의 댓글