본문 바로가기

Learning/NestJS

NestJS 시작 하다

솔직히 시작한지 몇일이 지난 상황이라 기본 설치 부분을 캡쳐하지 못하였다...

 

우선 나는 노마드코더에 니콜라스님의 강좌를 보고 시작을 하였다

설치 부분부터 강좌가 아주 잘되어 있다.

처음 하는 분은 나처럼 아래의 강좌를 보는것을 추천 한다.

nomadcoders.co/nestjs-fundamentals/lectures/1964

 

All Courses – 노마드 코더 Nomad Coders

초급부터 고급까지! 니꼬쌤과 함께 풀스택으로 성장하세요!

nomadcoders.co

 

https://docs.nestjs.com/

 

Documentation | NestJS - A progressive Node.js framework

Nest is a framework for building efficient, scalable Node.js server-side applications. It uses progressive JavaScript, is built with TypeScript and combines elements of OOP (Object Oriented Progamming), FP (Functional Programming), and FRP (Functional Reac

docs.nestjs.com

NestJS는 typescript를 100% 사용한다. 기본파일의 확장자는 typescript의 ts nest의 기본적인 사용키는 관리자 모드의 터미널에서 nest를 입력 하면 나온다.

nestjs -main : 시작점, PORT설정과 root모듈을 가져옴

   -app.module : root 모듈 하나의 모듈만 있을 수 있다.

   -app.controller : url을 가져와서 함수로 매핑(exporess의 route?) 라우터를 셋팅하지 않아도 된다

                        END POINT를 지정 하여 사용 @Get @Put @Patch @Update @Delete @Post 등

                        선언하는 것만으로 각각의 HTTP 리퀘스트를 얻을 수 있다.

                        END POINT에 페턴기반 라우팅이 가능하다.

                        @Get('a*t') ast, a-st aat 매칭이 됨 ?,+,*,() 를 사용할수 있다.

   -app.service : nestjs는 컨트롤러(url을 가져와 함수로 매핑)와 비지니스로직을 분리 비지니스로직을 담당,

                  실질적인 function을 가짐 컨트롤러와 서비스의 함수이름을 같이 만들어 주는것이

                  기본이지만 컨트롤러에서 선언한 함수이름과 호출하는 서비스의 함수명을 달리해도 동작은 한다.

                  

NestJS는 @(데코레이터) 와 함께 한다.

   - 데코레이터는 class에 함수의 기능을 추가할 수 있게 한다.

     class 쉬의 함수이고, class를 위해 움직인다고 생각하자 테코레이터는

     꾸며주는 함수나 클래스랑 붙어 있어야 한다(비어있는 행간이 있으면 안된다.)

 

Status code를 기본은 200,201이지만 변경을 원할 경우 @Httpcode(???)로 사용이 가능하다.

상황별로 다를 경우에는 @Res 혹은 에러를 throw.

@Res가 가능 한 이유는 기본적으로 NestJS는 express 위에서 가동되기 때문이다. @Req.JSON()도 사용가능 

 

--------노마드코더 강좌에서는 movie API를 만들지만 여기서는 BPMN API를 만들어 보자

Database 관련은 블로그 보고 진행

https://johnmarc.tistory.com/42?category=821195

typeORM 사용 https://typeorm.io/#/

 

TypeORM - Amazing ORM for TypeScript and JavaScript (ES7, ES6, ES5). Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server,

 

typeorm.io

npm install --save @nestjs/typeorm typeorm mysql typescript

- typeORM 

m.blog.naver.com/PostView.nhn?blogId=psj9102&logNo=221428252264&proxyReferer=https:%2F%2Fwww.google.com%2F

 

Typescript : mysql을 typeorm 으로 쉽게 - 사용편

설치방법https://blog.naver.com/psj9102/221427742326​안녕하십니까. NoDe 입니다.이번엔 typeorm을 사...

blog.naver.com

 

'Learning > NestJS' 카테고리의 다른 글

NestJS Authentication(4) jwt(수정)  (0) 2021.01.11
NestJS Authentication(3) 환경변수  (0) 2021.01.07
NestJS Authentication(2) jwt+환경변수  (0) 2021.01.06
NestJS Authentication(1) Login  (0) 2021.01.03
DTO (Data Transfer Object)  (0) 2021.01.02