기능
•
url 매핑
•
request 받기
•
query, body 등등 넘기기
생성
nest g co [이름]
Shell
복사
구조
•
기본 구조
•
spec파일은 test파일이므로 지워도 무방
•
app.module.ts에 자동 생성
•
movies.controller.ts
import {
Body,
Controller,
Delete,
Get,
Param,
Patch,
Post,
Put,
Query,
} from '@nestjs/common';
@Controller('movies')
export class MoviesController {
@Get()
getAll() {
return 'Hello World!';
}
@Get('search') // 해당 url이 Param보다 밑에 있는 경우 url이 아닌 Param값으로 인식해버린다.
search(@Query('year') searchingyear: string) {
return `We are searching for : ${searchingyear}`;
}
@Get(':id')
getOne(@Param('id') movieId: string) {
return `this id: ${movieId}`;
}
@Post()
create(@Body() movieData) {
console.log(movieData);
return movieData;
}
@Delete(':id')
remove(@Param('id') movieId: string) {
return `this id: ${movieId}`;
}
// @Put() // 모든 리소스 업데이트
@Patch(':id') // 일부 특정 리소스만 업데이트
path(@Param('id') movieId: string, @Body() updateData) {
return {
updateData: movieId,
...updateData,
};
}
}
TypeScript
복사