Jaeilit

Nest js CRUD 해보기 본문

TIL

Nest js CRUD 해보기

Jaeilit 2022. 8. 2. 13:05
728x90

node express 로 서버 띄우고 간단한 curd api, middelware 기초적인 것을 따라해본 경험이 있다. + 소켓 튜토리얼

 

 

개인적인 견해

 

node 는 자바스크립트 언어를 브라우저 외부에서 사용 할 수 있게 만들어진 환경이고

브라우저 외부에서 사용 할 수 있다보니 서버에서도 쓰고 그러다보니 Express 라는 프레임워크로 서버도 만들고 node server 에 대해서도 라이브러리가 나오기 시작하면서 백엔드 영역까지 영향을 끼치게 되었다.

 

하지만 express 를 기반으로 하지만 여러 라이브러리 조합으로 서버를 꾸리다보니 중구난방이고 구조화가 잘 되어있는 스프링에 비해 탄탄하지 못해 약하다  또는 가벼운 곳에 쓰기 좋다? 라는 인식이 생겼고 사실이기도 한 것 같다.

 

이제 nest 가 등장하면서 구조화가 잘 되어있는 튼튼한 node 프레임워크가 생긴 것 같다.

nest 는 독스도 잘되어있을 뿐더러 cli 를 사용하여 엄청 간단하게 프로젝트를 생성할 수 있다..

 

백엔드 포지션이 아니라 자세히는 모르겠지만 스쳐지나가는 말로는 스프링과 비슷하다는 글도 가끔 본 것 같다.

 

간단하게 튜토리얼로

nest js curd 를 만들어보자.

 

npm install -g @nestjs/cli
nest g resource todo

cli 를 설치하고 nest cli 명령어 중 g resource project-name 을 해주면 dto, entitle service, module, contorller 등 curd 에 관해서 자동으로 파일이 만들어집니다.



1. Controller

컨트롤러는 프론트에서 요청을 수신하는 부분인데

return 값으로는 service 파일의 로직에 따르고 있습니다.

 

controller 의 파라미터 값이 요청 url 이 됩니다.

지금은 localhost:3000/todo 가 되겠네요

 

데코레이터로 POST GET GET(:id) Patch Delete 등 메서드를 선언해주고

메서드의 이름으로 함수를 만들어 service 로직을 짜고 리턴해주면 됩니다.

 

GET(:id) 는 todo/1 todo/2 와 같은 url을 뜻하고

Patch, Delete 도 비슷한 원리로 이해하면 될 것 같습니다.

 

2. Service 

서비스 파일에는 비지니스로직이 들어갑니다.

get 요청이 들어왔을 때의 로직,

post 요청이 들어왔을 때의 로직, 처리 등등 입니다.

 

findAll() 은 get 메서드의 로직입니다. 그냥 문자열을 반환하죠

 

실제로 postman 으로 요청을 해봐도 아니면 그냥 localhost:3000/todo 를 띄워봐도 저 문자열이 나옵니다.

post 도 마찬가지 입니다.

 

아! 그리고 이 todo 를 사용히 위해서는 app.module.ts import에 추가해주어야 합니다.

현재는 cli 로 설치했기 때문에 자동으로 설치가 되있죠

 

나중에 DB 도 사용하게 되고 하면 provider 에 entitly 도 추가해줘야 할 수도 있습니다~!

어여튼 간단하게 CURD 만 알아봤습니다.~!

728x90

'TIL' 카테고리의 다른 글

맥북 m1 에어 플러터 설치  (0) 2022.08.31
Tailwind 적용하기  (0) 2022.08.03
인증과 인가  (0) 2022.07.28
ec2 스케줄러 테스트  (0) 2022.07.18
ec2 - db(postgres sql , RDBS) 연결  (0) 2022.07.18