728x90
NestJS + postgres + typeorm 연동하기 (서버 DB 연결)
BE/NestJS2023. 11. 21. 00:09NestJS + postgres + typeorm 연동하기 (서버 DB 연결)

NestJS와 postgres, typeorm을 연동하기 위한 방법을 소개합니다. 연동하기 전에 postgres을 먼저 실행해줍니다. postgres 실행 꼭 도커를 띄울 필요는 없지만, docker로 띄우는것이 편해서 본 글에서는 docker로 postgres를 띄우고 연동하는 방법에 대해 소개합니다. 도커로 띄우는 방법은 아래 글 참고바랍니다. Postgres DB를 Docker 컨테이너로 띄우기 (docker-compose 사용) 재미로 만들어보고 있는 개인 프로젝트에 Postgres DB를 연결하기 위해 PostgresDB를 띄우려고 합니다. 직접 맥북에 설치를 할 수도 있지만, 더럽혀지는걸 싫어해서 사용하다가 필요없어지면 편하게 bluemiv.tistory.com 의존성 설치 postgres를 ..

NestJS Pipe를 이용하여 데이터 변환 및 검증
BE/NestJS2023. 11. 20. 22:43NestJS Pipe를 이용하여 데이터 변환 및 검증

파이프(Pipes) NestJS에서는 파이프(pipe)를 이용하여 요청의 데이터를 변환(transformation)하거나 검증(validation)을 할 수 있습니다. 파이프도 서비스와 같이 @Injectable() 데코레이터를 사용해서 구현합니다. 변환(Transformation): 입력 데이터를 원하는 형태로 변환합니다. (예: 문자열을 정수 형태로 변환) 유효성 검사(Validation): 입력 데이터를 유효성 검사를 하고, 검사를 통과하면 controller로 전달하고 그렇지 않으면 예외를 발생합니다. 파이프는 Controller의 요청(Request)의 arguments에 적용할 수 있고, 파이프를 통해 데이터 변환 및 검증을 하고 Controller가 실행됩니다. 아래 그림을 보면 이해하기 더..

NestJS에서 서비스(Service) 개념 및 서비스 생성하기
BE/NestJS2023. 11. 19. 18:33NestJS에서 서비스(Service) 개념 및 서비스 생성하기

서비스(Service)란 서비스는 NestJS에서만 사용하는 개념은 아니고, 소프트웨어 개발시 공통적으로 사용하는 개념입니다. 서비스는 보통 복잡한 비지니스 로직 또는 데이터베이스 관련된 로직을 처리할때 사용합니다. 정답은 없겠지만 종종 Controller에서 비지니스 로직을 처리하는 경우를 종종 보게 되는데, 컨트롤러는 라우팅을 정의하는 목적으로만 사용하고 복잡한 비지니스 로직은 서비스로 분리하는 것이 유지 보수 측면에서도 좋을거 같다고 생각합니다. NestJS에서의 서비스 NestJS에서 서비스를 정의할때는 @Injectable 데코레이터를 사용합니다. (Injectable 영어 단어로만 보더라도, "주입할 수 있는"로 해석할 수 있는데, Spring에서 DI와 동일한 개념) 해당 데코레이터에 의해,..

NestJS 컨트롤러(Controller) 개념 및 정의하기
BE/NestJS2023. 11. 17. 23:30NestJS 컨트롤러(Controller) 개념 및 정의하기

NestJS의 컨트롤러(Controller) NestJS에서 controller는 다른 서버 프레임워크와 동일하게, 클라이언트로부터 들어오는 요청(Request)을 라우팅하고 응답(Response)하는 역할을 합니다. 컨트롤러를 정의하기 위해서는 @Controller라는 데코레이터를 사용합니다. 그리고 HTTP Method를 표현하기 위해 @Get, @Post, @Put, @Delete 와 같은 데코레이터를 사용합니다. 해당 데코레이터를 이용하여 Restful API를 쉽게 개발할 수 있습니다. Controller 생성하기 module을 만들때와 같이 nestcli를 이용해서 controller를 생성할 수 있습니다. nest g controller --no-spec --no-spec: 테스트 코드 생성..

728x90
image