728x90 📁 𝐟𝐫𝐚𝐦𝐞𝐖𝐨𝐫𝐤7 No Image 📷 [Nest.js] Nest.js를 사용할 때 알아야 할 기본적인 몇 가지 2.4 / 2.5 DTOs and Validation part 여기서 DTO란? → Data Transfer Object 를 의미 파이프는 미들웨어 같은 것. class-validator & class-transformernpm i --save class-validator class-transformer웹 애플리케이션으로 전송되는 데이터의 검증을 도와줍니다.ValidationPipe는 강력한 클래스 유효성 검사기 패키지와 선언적 유효성 검사 데코레이터를 사용합니다. ValidationPipe는 들어오는 모든 클라이언트 페이로드에 대해 유효성 검사 규칙을 적용하는 편리한 접근 방식을 제공합니다.자동 검증따라서 모든 엔드포인트가 잘못된 데이터를 수신하지 못하도록 보호됩니다.whitelistforbidNonW.. 2023. 3. 30. No Image 📷 [Nest.js] Nest.js 에서 Rest한 API create 하는 방법 (2) 2.2 / 2.3 Movies Service part 서비스를 만든다? → nest g s 하면 되겠네 먼저 movie에서 사용되어질 entity 들을 넣어주기 위한 파일을 생성해서 movie.entity.ts 라는 파일을 만들어주고 export class Movie { id: number; title: string; year: number; genres: string[]; } 속성값들을 기입해주자 자세히 살펴보니 express에서 쓰던 Schemas 와 비슷한 느낌을 받았다. 작성이 완료되었다면 service를 하나하나 만들어 나가보자. import { Injectable } from '@nestjs/common'; import { NotFoundException } from '@nestjs/commo.. 2023. 3. 30. No Image 📷 [Nest.js] Nest.js 에서 Rest한 API create 하는 방법 (1) REST API 2.0 Movie Controller Movie Controller 만들어보자 우선 Terminal 창에 아래 코드를 입력하면 nest 위와 같은 목록표가 나온다. 우리는 Controller 를 만들것이니 nest generate co 혹은 nest g co 입력하자 Controller 의 이름을 묻는다. movies controller 만들 것이니 movies 를 입력하자 movies controller 가 생성되었다. 어? 잘 보니까 @Module에 controller 보면 MoviesController 가 이미 import 되었다. @Controller('movies') export class MoviesController { @Get() getAll() { return 'This .. 2023. 3. 30. No Image 📷 [Nest.js] Nest.js의 아키텍쳐 ARCHITECTURE OF NESTJS 1.0 Overview Nestjs 시작하기 npm run start:dev —> localhost:3000 으로 갈 수 있게 해준다는 뜻 src 파일을 헤쳐보자 app.controller.spec.ts → Controller 테스트 파일 app.controller.ts → Controller 파일 app.module.ts → Module 파일 app.service.ts → Service 파일 main.ts → app.js 와 비슷한 기능의 파일 1.1 / 1.2 ARCHITECTURE OF NEST.JS main → main.ts 가 모든 걸 시작 import { NestFactory } from '@nestjs/core'; import { AppModule }.. 2023. 3. 30. No Image 📷 [Nest.js] Nest.js 기본 세팅 INTRODUCTION 0.1 Welcome Let’s learn about Nest.js 0.2 Requirements Nest.js 는 Enterprise 에서 사용하기 좋은 Build 환경 Nest.js 는 TypeScript 기반 insomnia rest (Rest Client )다운로드→ 엔드포인트를 테스트 할 용도 The Collaborative API Development Platform The Collaborative API Development Platform Leading Open Source API Development Platform for HTTP, REST, GraphQL, gRPC, SOAP, and WebSockets insomnia.rest 0.3 Project Setup .. 2023. 3. 30. No Image 📷 Layered architecture pattern (레이어드 아키텍쳐 패턴) 목차 레이어드 패턴이란? 레이어드 패턴이 참조된 프로그램을 만드는 순서 레이어드 패턴의 내부 파일들의 역할 레이어드 패턴이란? 해당 사진이 가장 이해가 잘 될것 같아서 다른 사진에서 참고하여 만들어봤다. 원래 MVC pattern 을 공부했을때는 View / Controller / Model 세 가지만 알고 있으면 되었는데, 이번에 배운것은 Layered architecture pattern 이라는 패턴을 배우게 되었다. 우선 해당 사진을 참조하여 어떤 형식으로 되어있는지 대충 파악이 되었다면, 만드는 순서도 알려주겠다. 레이어드 패턴이 참조된 프로그램을 만드는 순서 해당 패턴의 프로그램을 만들려면 model repository service controller router app.js 순으로 건들면서 .. 2023. 2. 19. No Image 📷 [Express] req.params 와 req.body의 차이 req.params 라우터의 매개변수 예를 들어 /:id/:name 경로가 있으면 ":id"속성과 ":name"속성을 req.params.id , req.params.name 으로 사용할 수 있다. www.example.com/post/1/jayden 일 경우 1과 jayden을 받는다. router.put("/posts/:postId", async (req,res)=>{ const {postId} = req.params; const {password, title, content} = req.body; try { const existPost = await Posts.findOne({postId}); if (!existPost) { throw new Error("유효하지 않은 post ID") }; if .. 2023. 2. 7. 이전 1 다음 728x90