분류 전체보기
REST와 GraphQL: Controller와 Resolver의 차이점 이해하기
REST와 GraphQL은 서버와 클라이언트 간의 데이터 통신을 위한 두 가지 주요 방식이다.각 방식은 NestJS에서 각각 Controller와 Resolver를 사용하여 구현된다.Resolver와 Controller는 목적과 사용되는 환경에서 차이가 있다. 둘 다 요청을 처리하고 응답을 반환하는 역할을 하지만, 사용하는 프로토콜과 구체적인 사용 사례에서 차이를 보인다. REST와 Controller@Controller('users')export class UserController { constructor(private readonly userService: UserService) {} @Get() findAll(): Promise { return this.userService.findA..
NestJS의 기본 모듈 구조
기본 모듈 구조기본적으로 모듈은 @Module() 데코레이터를 사용하여 정의되며, 아래와 같은 속성을 가진다. imports: 다른 모듈을 가져와 현재 모듈에서 사용한다.controllers: HTTP 요청을 처리하는 컨트롤러를 등록한다.providers: 서비스나 리포지토리 등의 종속성을 주입하는 제공자들을 정의한다. 즉 앱의 다른 부분에서 쉽게 사용할 수 있도록 한다.exports: 모듈 외부에서 사용될 수 있도록 제공자들을 내보낸다. import { Module } from '@nestjs/common';import { UsersController } from './users.controller';import { UsersService } from './users.service';@Module({ ..
TypeORM의 Entity
TypeORM EntitiesEntities - 데이터 베이스에 저장되는 데이터의 형태를 보여주는 모델 같은 것이다.DB table (Mongo DB를 사용하는 경우 collection)에 매핑GraphQL에서 사용한 Entity와 비슷하다. graphql의 Entity@objectType() 자동으로 스키마를 빌드하기 위해 사용 TypeORM의 EntityTypeORM의 Entity는 DB에 저장을 해줌데이터베이스 테이블을 객체지향적으로 표현하는 개념Entity는 데이터베이스 테이블의 구조를 정의하고 테이블의 각 열은 Entity 클래스의 속성으로 표현된다.Entity 를 통해 TypeORM은 데이터베이스 테이블을 생성하고 관리한다.SQL 쿼리 없이도 데이터베이스와 상호 작용할 수 있다.엔터티를 사..
TypeORM에서 제공하는 특별한 데코레이터 , 엔티티의 생성 및 수정 일자를 자동으로 관리
@CreateDateColumn과 @UpdateDateColumn은 TypeORM에서 제공하는 특별한 데코레이터로, 엔티티의 생성 및 수정 일자를 자동으로 관리하는 데 사용된다. 이 데코레이터들은 엔티티의 날짜 및 시간 정보를 자동으로 업데이트하며, 데이터베이스의 각 레코드에 대한 타임스탬프를 추적하는 데 유용하다. import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn } from 'typeorm';@Entity()export class User { @PrimaryGeneratedColumn() id: number; @Column() name: string; @Column() age: number;..