728x90
자 우선 nest를 그냥 컨트롤러만 만들어서 API만 쏴보자.
우선 nest를 시작할 폴더에서 terminal에 다음과 같이 입력해준다.
npm install @nestjs/common@7.6.17 @nestjs/core@7.6.17 @nestjs/platform-express@7.6.17 reflect-metadata@0.1.13 typescript@5.5.
이러면 종속성? 들이 추가된다.
그리고 src 폴더를 만들고, 거기에 main.ts 파일을 만들어준다.
당연히 자바에서도 그렇지는 않았지만, 나중에 옮기기로 하고 일단 main.ts에 모든 코드를 작성해보도록 하자.
우선 controller이다.
클라이언트와 서버의 인터페이스의 역할을 한다.
import {Controller, Get} from '@nestjs/common';
@Controller()
class SeungkyuController{
@Get()
getSeungkyu(){
return "hi seungkyu"
}
}
자바에서는 어노테이션이라고 했지만, 여기서는 데코레이터라고 하는 거 같다.
이렇게 컨트롤러를 만들고, nest에서는 하나 이상의 모듈이 있어야 한다고 한다.
그리고 그 모듈에 컨트롤러를 추가해야 한다고 한다.
그렇기에 이 컨트롤러를 모듈에 추가해보자.
import {Module} from '@nestjs/common';
@Module({
controllers: [SeungkyuController]
})
class SeungkyuModule{}
아마 각 코드들이 어떻게 동작하는지는 자세히 모르겠지만, 일단 뼈대만 작성해서 동작시켜보고 나중에 알아보도록 하자.
마지막으로는 spring의 application.java와 같은 부분이다.
import {NestFactory} from "@nestjs/core";
import {NestExpressApplication} from "@nestjs/platform-express";
async function bootstrap() {
const app = await NestFactory.create<NestExpressApplication>(AppModule);
await app.listen(3000);
}
bootstrap();
이렇게 해당 모듈을 등록하고, 동작시켜보자.
그럼 다음과 같이 로그가 나온다.
우리가 등록했던 3000 포트로 접속해보면
그리고 nest에서는 controller를 SeungkyuController 이렇게 파일을 만드는 것이 아니라
seungkyu.controller.ts
이런식으로 파일을 생성한다고 한다.
일단 nest를 동작만 시켜보았다.
앞으로 당분간 nest에 집중해서 제대로 알아보도록 하자.
'Node > Nest' 카테고리의 다른 글
Nest에서의 IOC/DI 알아보기 (0) | 2025.07.06 |
---|---|
Nest에서 Service layer 구현하기 (0) | 2025.07.05 |
Nest에서 파일 시스템을 통해 repository layer 구현하기 (0) | 2025.07.05 |
Nest에서 파이프를 통해 요청 DTO 검사하기 (1) | 2025.07.04 |
Nest 모듈과 컨트롤러 만들어보기 (0) | 2025.07.03 |