1. package.json
@nestjs로 시작하는 애들은 nestjs 안에서 자체적으로 실행되는 라이브러리들
reflect-metadata 는 데코레이터에 사용되는 라이브러리
rxjs 는 비동기 및 이벤트기반 프로그래밍을 작성하기위한 라이브러리
2.controller
app.controller
import { Controller, Get } from '@nestjs/common';
import { AppService } from './app.service';
@Controller('cats')
export class AppController {
constructor(private readonly appService: AppService) {}
@Get('hello')
getHello(): string {
return this.appService.getHello();
}
}
이런식으로 url매핑하면
http://localhost:8080/cats/hello 경로로 들어가서 해당 메소드를 호출할수있다
또한 express에서 했던 requst , body, param도 사용할수있는데
import { Body, Controller, Get, Param, Req } from '@nestjs/common';
import { AppService } from './app.service';
@Controller('cats')
export class AppController {
constructor(private readonly appService: AppService) {}
@Get('hello/:id')
getHello(@Req() req: Request, @Body() Body, @Param() param): string {
console.log(req);
console.log(param);
return this.appService.getHello();
}
}
http://localhost:8000/cats/hello/aaa
위 경로로 접속시
이런식으로 출력됨
body 같은경우 dto 를 주로 사용하는데
create-cat.dto.ts
export class CreateCatDto{
name: string;
age: number;
breed: string;
}
cat.controller.ts
@Post()
async create(@Body() createCatDto: CreateCatDto) {
return 'this action adds a new cat'
}
이런식으로하면 딱 정해진 형식대로 데이터를 주고 받을 수 있다
반응형
'웹 개발 > 🟩 Node.js' 카테고리의 다른 글
NestJS | Modules & 캡슐화 (0) | 2024.02.14 |
---|---|
NestJS | Providers & 의존성 주입(DI) (0) | 2024.02.13 |
NestJS | 유용한 VSCde 셋업 (0) | 2024.02.13 |
NestJS | 개발환경 셋팅 (0) | 2024.02.13 |
Express | 싱글톤 패턴, 서비스 패턴 (0) | 2023.06.22 |