import {Controller, Get} from "@nestjs/common";
@Controller("/app")
export class AppController {
@Get("/asdf")
getRootRoute() {
return "hi there";
}
@Get("/bye")
getByeThere() {
return "bye there";
}
}
@Controller 데코레이터의 경로는 상위 라우팅, 클래스 내부 함수들의 데코레이터의 경로는 상위 라우팅 경로의 하위 경로이다.
/app/asdf에 들어가면 hi there이 나오고
/app/bye에 들어가면 bye there이 나옴
get을 할 때 조회하고 싶은 정보를 필터링하기 위해 보통 /path/1 이렇게 사용할 수도 있고, /path?page=1 이렇게 사용할 수도 있다. /messages/1에서 1을 와일드카드, 요청 파라미터라고 하는데 이를 추출하고 싶다면
@Get('/messages/:id')
getMessages(@Param('id') id: string){
console.log(id);
}
이런식으로 사용하자
그러면 /messages?page=1 의 ? 뒤의 부분을 쿼리스트링이라고 하는데, 여기서 정보를 추출하고 싶다면
@Get('/messages')
getMessages(@Query('id') id: string){
console.log(id);
}
post 요청에서도 들어오는 데이터를 받아서 사용해야 한다. 그러면 리퀘스트의 body로 들어오는 데이터들은 아래와 같이 가져올 수 있다.
@Post()
createMessages(@Body() body: any) {
console.log(body);
}
이렇게 받아도 되고 따로 DTO를 만들어서 pipe를 달아 검증하여 사용해도 된다
'NestJS' 카테고리의 다른 글
| 반환 정보 편집하기 (1) | 2025.06.15 |
|---|---|
| 입력 정보 검증하기 (0) | 2025.06.15 |
| TypeORM 간단 사용법 (0) | 2025.06.15 |
| 제어 역전 / 의존성 주입 (0) | 2025.06.14 |
| nestJS 시작 (2) | 2025.06.14 |