타입스크립트는 변수를 만들때 타입을 지정할 수 있다.
let name : string = "Jin";
위의 name 값의 타입을 string 으로 지정하고 있다.
array 배열과 오브젝트의 타입지정도 가능하다.
//array 타입 지정
let names: string[] = ['Jin', 'Joe', 'Jay'];
//Object 타입 지정
let age: { age: number } = { age: 12 };
//type 선언으로 타입을 변수처럼 사용할 수 있다.
type NameType = string;
let myName: NameType = 'Jin';
//say:string은 파라미터의 데이터 타입
//파라미터 괄호 옆 :string은 함수 리턴값의 타입이다.
function helloWorld(say: string): string {
return 'hello World';
}
import {
Body,
Controller,
Delete,
Get,
Param,
Patch,
Post,
Query,
} from '@nestjs/common';
@Controller('movies')
export class MoviesController {
@Get()
getAll() {
return '모든 영화 목록 ';
}
/** http://localhost:3000/movies/search?name=hi
처럼 ? 뒤에 오는 값을 가져오고 싶으면 @Query 를 써야한다.*/
@Get('search')
search(@Query('name') searchTitle: string) {
return `타이틀을 통한 검색 검색어는 ${searchTitle} 입니다`;
}
@Get(':id')
getOne(@Param('id') movieId: string) {
return `ID를 통해 영화 하나의 정보를 가져올 것입니다. 영화 아이디는 ${movieId}입니다.`;
}
@Post()
create(@Body() movieData) {
console.log(movieData);
return '무비 데이터를 만들 것입니다. Body값을 가져오기 위해서는 파라미터에 @Body를 넣어야해요.';
}
@Delete(':id')
remove(@Param('id') movieId: string) {
return `ID를 통해 무비 데이터를 삭제할 것입니다.영화 아이디는 ${movieId}입니다.`;
}
@Patch(':id')
patchMovie(@Param('id') movieId: string, @Body() updateData) {
return {
updatedMovie: movieId,
...updateData,
};
}
}
무언가 필요하다면 요청해야한다.
@Param 은 parmas 값을 가져오겠다는 요청이다.