nest js -1 Structure

안녕하세요. 저번에 작성한 글(nest js - install & Create Project from Linux or Ubuntu)에 이어서 nest js에 대한 구조를 알아보도록 하겠습니다. nest js의 프로젝트를 생성하면 여러개의 폴더와 파일들이 생성되는 것을 알수 있습니다. 그중에서 src폴더가 실제적으로 API동작을 하게 됩니다. 


 그럼 표를 보면서 어떤식으로 동작하는지 설명 드리겠습니다.


1) 프로젝트 생성시 나오는 폴더(members제외)



2) app 및 main관계도






생성된 파일을 보면 4개가 생성됬음을 알수 있다. 

app.service.ts : app.controller에서 해당 method를 사용한다.

app.controller : 웹상에서 요청(request)이 오면 그것을 처리하고 return한다. return한 내용은 곧     respone 내용이다.

app.module
 - imports : 다른 모듈이 존재시 추가할수 있다. (아래 사진에서는 members, 기본적으로 비어있음)
- controllers : app.controller의 Class AppController를 받는다.
- providers : Class AppController 에 사용할 method을 제공받는다.
- main : app.module에 있는 class AppModule를 app에 받고 서버를 실행한다.


2번의 구조를 보면 역할이 모두 나누어 진것을 알수 있습니다. 다른 모듈들을 만들때도 이와 같은 방법으로 만듭니다. 




3) members모듈 구조

 이제 앞으로 글을 작성할때 코딩할 members모듈을 구조로 그려봤습니다. 위 구조에서 보면 app의 모듈과 상당히 유사한 것을 알수 있습니다. 


 간단히 설명하자면 모든 멤버의 데이터를 GET요청으로 받아오는 것입니다. 물론 실제로는 있으면 안되고 더군다나 비밀번호도 포함되어있기 때문에 예제로만 테스트 하고 실제로는 보안을 더 강화해야 합니다. 



4) member모듈과 app모듈 연결(imports)

 그럼 이제 완성된 모듈은 app.module의 imports안에 넣습니다. 이번 코딩에서는 1개(members 모델)만 들어가지만 여러개를 배열형식으로 넣을수 있습니다.


이제 코딩할 members모델은 더미데이터(members데이터)를 이용하여 GET요청으로 client가 members전체 데이터를 받을수 있게 할 예정입니다. 


그럼 다음 글에서 본격적으로 코딩을 하도록 하겠습니다. 




댓글

이 블로그의 인기 게시물

Lesson 12_1 프로퍼티 노드(Property Node)

DAQ로 전압 측정하기-2

Lesson 12_2 참조를 이용한 프로퍼티노드(Property Node)