import {
Body,
Controller,
Delete,
Get,
Param,
Patch,
Post,
Put,
Query,
} from '@nestjs/common';
@Controller('movies')
export class MoviesController {
@Get()
getAll() {
return `This will return all movies`;
}
// localhost:3000/movies/search?year=2000
@Get('search')
search(@Query('year') searchingYear: string) {
return `We are searching for a movie made after: ${searchingYear}`;
}
/**
* 필요한 parameter는 작성하여 요청한다.
* getOne에서 요청하는 방법은 parameter를 요청하는 것
* @Param 사용시 url에 있는 id parameter를 인 것을 가리킴
*/
@Get('/:id')
getOne(@Param('id') movieId: string) {
return `This will return one movie with the id ${movieId}`;
}
/**
* @Body 에 클라에서 보낸 movie 만들 data(movieData)를 받아옴
*/
@Post()
create(@Body() movieData) {
// console.log(movieData);
return movieData;
}
@Delete('/:id')
remove(@Param('id') movieId: string) {
return `This will delete a movie with the id: ${movieId}`;
}
@Patch('/:id')
parch(@Param('id') movieId: string, @Body() updateData) {
// return `This will patch a movie with the id: ${movieId}`;
return {
updatedMovie: movieId,
...updateData,
};
}
// search 부분이 get(':/id')보다 밑에 있으면 search를 id로 판단한다.
// get id 위로 옮겨준다.
// @Get('search')
// search() {
// return `We are searching for a movie with a title`;
// }
}