역할
Client 즉 브라우저에서의 http요청을 수신 후 응답 한다
둘이상의 경로를 설정할수도 있으며 데코레이터 ( @Get(), @Post())등을 사용하여 Nest가 라우팅 맵을 생성할 수 있도록 한다
CRUD 생성
$ nest g resource test
nest g resource [name] 명령구문 사용시 crud에 관한 모든 파일이 자동으로 생성되었다
라우팅(Routing)
컨트롤러가 수신 및 응답을 한다고 했다
test 폴더의 test controller에서 라우팅처리를 보면
데코레이터를 통해이루어지는 것을 볼 수 있다
Decorator
@Controller(’test’) // localhost:3000/test - 그룹화
@Get() // localhost:3000/test
@Get(’test’) // localhost:/test/test
@Post() // localhost:3000/test
위와 같은데코레이터를 통해 원하는 api 엔드포인트에 맞는 컨트롤러를 작성할 수 있게된다
@Headers, @Sessiong, @HttpCode, @Res, @req 등의 데코레이터는 문서를 참고하자
주의사항
데코레이터 사용시
@Get() findAll(){ // 정상 } @Get() findAll(){ // 데코레이터가 메소드에서 떨어져있으면 안된다 }