본문 바로가기

Research/Nest.js32

08. Nest.js_RestAPI_DTO DTO란 배경지식 백엔드에서 자원을 효율적으로 사용하기 위해 요청 횟수를 최소화하고, 요청 시 최대한 많은 데이터를 보내는 것이 중요합니다. 어떻게 하면 데이터를 모아서 한번에 전달할 수 있을까라는 고민 끝에 고안된 것이 바로 DTO, 데이터 전송 객체입니다. DTO란 DTO는 Data Transfer Obejcts의 약자입니다. DTO를 사용하면 input 데이터의 1)프로퍼티와 2)타입을 미리 설정할 수 있습니다. DTO를 사용하면 데이터 타입을 통제하기 때문에 장기적으로 협업에 도움이 됩니다. DTO를 사용하는 이유 유닛 테스트가 쉬워진다. Service 레이어에서 유닛 테스트를 진행 시, Entity를 바로 적용하면 Service 테스트가 가능합니다. 굳이 DB와 연동해서 테스트할 필요가 없어집니.. 2023. 2. 7.
07. Nest.js_RestAPI_응답 데이터 유형과 상태코드 응답 데이터 자동 변환 nest.js에서 response로 데이터를 리턴해줄 때, 객체와 배열은 JSON으로 자동 변환해줍니다. 원시타입은 그대로 전달해줍니다. 데이터 변환 유형 Number -> Number String -> String Boolean -> Boolean Object -> JSON Array -> JSON // src/events.controllers.ts import { Body, Controller, Delete, Get, Param, Patch, Post, } from '@nestjs/common'; @Controller('/events') export class EventsController { // 5개 정도 가볍게 유지하는 것이 좋다 @Get() .. 2023. 2. 7.
06. Nest.js_RestAPI_Request Body http 요청을 할 때 파라미터 뿐만 아니라 body로도 데이터를 전달하여 요청할 수 있죠? 이번에는 Body 값을 가져오는 방법을 알아보겠습니다. // src/events.controllers.ts import { Body, Controller, Delete, Get, Param, Patch, Post, } from '@nestjs/common'; @Controller('/events') export class EventsController { // 5개 정도 가볍게 유지하는 것이 좋다 @Get() findAll() {} // Param 데코레이터 사용하여 파라미터 가져오기 @Get(':id') findOne(@Param('id') id) { r.. 2023. 2. 7.
05. Nest.js_RestAPI_Route Parameters http://bookshop.com/search/:id와 같이 파라미터를 사용하면 특정 정보만 요청할 수 있게 됩니다. Nest.js에서도 루트 파라미터를 사용하면 동적으로 루트를 관리할 수 있게됩니다. 파라미터는 @Param 데코레이터를 사용해야 합니다. // src/events.controllers.ts import { Controller, Delete, Get, Param, Patch, Post } from '@nestjs/common'; @Controller('/events') export class EventsController { // 5개 정도 가볍게 유지하는 것이 좋다 @Get() findAll() {} // Param 데코레이터 사용하여 파라미터 가져오기 @G.. 2023. 2. 7.