NestJS) 개념 정리 & VScode eslint 이슈 해결

BongHee·2023년 1월 23일
0

nest

목록 보기
1/2
post-thumbnail

Providers란
Spring에서 service의 역할을 한다고 보면된다.
핵심 기능의 비지니스 로직을 해결하는 방법을 다룬다.

  • Nest 클래스는 서비스, 레포지토리, 팩토리, 헬퍼 등 프로바이더로 취급될 수 있다.
  • 프로바이더의 주요 아이디어는 종속성으로 주입할 수 있다는 것이다.
  • module파일에 providers 항목안에 해당 모듈에서 사용 할 provider를 넣어주면 사용이 가능해진다.

Service란
서비스는 컨트롤에서 데이터의 유효성 체크 하거나 데이터베이스에 아이템을 생성하는 등의 작업을 하는 부분을 처리한다.

  • Injectable데코레이터로 감싸져서 모듈에 제공됨, 애플리케이션 전체에서 사용될 수 있다.

정리: 클라이언트에서 요청을 보내면 컨트롤러로 가며 컨트롤러에서 알맞은 요청 경로에 라우팅해서 해당 핸들러로 가게 해준다.
그 이후 요청 처리를 위해 서비스로 들어가고 그 요청에 맞는 로직을 서비스에서 처리한 후 컨트롤러에 리턴값을 보내준 후 컨트롤러에서 클라이언트로 결과값을 보내준다.
따라서 컨트롤러에서는 요청을 처리하고 결과값을 리턴해주는 역할을 한다.

  • interface와 class 차이
    -> interface: 변수의 타입만을 체크
    -> class: 변수의 타입을 체크하고 인스턴스 또한 생성한다.

  • enumeration: 두가지 상태 이외 다른게 오면 안될 때 주로 enumeration 타입을 사용한다.

VScode에서 Delete CR eslint 코드내 빨간줄로 에러가 발생했다
이 에러 해결 방법으로는
eslnt 파일을 수정해주면된다.

    rules: {
        'prettier/prettier': [
            'error',
            {
                endOfLine: 'auto',
            },
        ],
    },

타입을 정의 하는 이유
원하는 타입과 다른 코드를 입력 시 에러를 바로바로 확인이 가능하고, 코드 읽는 입장에서 코드 이해가 빠르다.

DTO (Data Transfer Object)
계층간 데이터 교환을 위한 객체
DB에서 데이터를 얻어 service 나 controller 등으로 보낼 때 사용하는 객체
클래스를 이용해서 만드는걸 추천

profile
배움에 두려움이 없고 개발을 즐기는 사람

0개의 댓글