일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 리액트 메모이제이션
- 알고리즘
- 리액트 렌더링 최적화
- 웹팩 기본개념
- 리액트
- FP 특징
- 항해99 미니프로젝트
- 항해99 사전스터디
- 렌더링 최적화
- toggle-btn
- next js
- Js module
- gql restapi 차이
- 함수형 프로그래밍 특징
- chromatic error
- jwt
- 코어자바스크립트
- v8 원리
- 리액트 메모
- this
- js배열 알고리즘
- 타입스크립트
- 테스트 코드 툴 비교
- 웹 크롤링
- 리덕스
- JS module system
- 자바스크립트 엔진 v8
- 항해99
- 실행컨텍스트
- 항해99 부트캠프
- Today
- Total
Jaeilit
Nest js CRUD 해보기 본문
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 만 알아봤습니다.~!
'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 |