DevBoi

[NestJS] 모듈, 컨트롤러, 서비스 생성 하기 본문

Develop/[NestJs]

[NestJS] 모듈, 컨트롤러, 서비스 생성 하기

HiSmith 2023. 5. 22. 22:35
반응형

우선 NestJS모듈은, @Module () 데코레이터로 주석이 달린 클래스이다.

AppMoudle은 하나 이상있어야 하고, appMoudule은 시작점이다.

하위에 여러 모듈이 존재할 수 있고, CURD 관련 모듈 게시판, 사용자에대한 모듈 두개를 만들어 보자

 

* 모듈은 싱글톤이고, 여러 모듈간에 쉽게 공통적으로 인스턴스를 공유할 수 있다.

 

1) BoardModule 생성하기

> nest g module boards

생성 확인

모듈안에 아래와 같이 구성이 되게끔 만들것이다.

Controller,Entity,Service,Repo,Validataion들을 생성해보자

 

1) Controller생성해보기

Controller는 데코레이터로 정의를 해야한다.

핸들러는 메소드를 정의해주어야 한다. @Get,@Post,@Put 등등

 

> nest g controller boards --no-spec

-> no spec을 붙이지 않으면 테스트 코드까지 같이 생성이된다.

생성확인

또한 보드모듈에 컨트롤러까지 자동으로 생성이 된다.

 

2) Service를 생성해보자

뭐 모듈이랑 컨트롤러만들때 처럼 명령어를 입력해서 생성해본다.

> nest g service boards --no-spec

아래와 같이 생성됨을 확인 할 수 있다.

서비스는 Injectable() 데코레이터가 붙어있다.

BoardsController에서 사용하려면 주입을 해줘야한다 ( 요건 스프링이랑 비슷하다)

위 내용을 해주면, 컨트롤러에서 서비스 의존을 받게 다는것이다.

 

 

이렇게 해주면 컨트롤러 서비스 모듈에 대한 생성이 끝이난다.

 

아직까진 사용하기 간편해서

Vㅔ 리 굿이다.

 

반응형