티스토리 뷰

728x90
반응형

1. NestJS Controller

 

컨트롤러는 express의 router 같은 존재입니다.

컨트롤러가 하는 일은 기본적으로 url를 가져오고 함수를 실행합니다.

 

컨트롤러는 들어오는 요청(request)를 처리하고 응답(response)를 반환합니다.

 

컨트롤러는 애플리케이션에 대한 특정 요청을 수신하는 것입니다.

 

컨트롤러를 만들기 위해 class@Controller()라는 데코레이션을 사용합니다.

데코레이터는 클래스를 필수 메타데이터와 연결하고 request를 컨트롤러에 연결합니다.

 

2. decorator(데코레이터)

데코레이터는 함수를 반환하고 타겟, 이름. property descriptor를 인수로 사용할 수 있는 표현식입나다.

데코레이터 앞에 @를 붙이고 이를 데코하려는 항목의 맨 위에 배치합니다.

클래스, 메소드, 프로퍼티에 사용 할 수 있습니다.

 

3. NestJS Routing

@controller('movie') 컨트롤러에 라우트 경로의 접두사를 지정해 줄 수 있습니다.

이는 라우트 집합을 그룹화할 수 있으며 반복화를 최소화할 수 있습니다.

 

@Controller('movies')
export class MovieController {
  @Get()
  getMovie(): string {
    return "This is Movie";
  }
}

 

위 코드와 같이 /movie 라우터에 @Get을 사용할 경우 HTTP의 get 메소드를 사용할 수 있게됩니다.

아래와 같이 post 메소드를 사용하고 싶을 경우 @Post를 사용하면 됩니다.

 

@Controller('movies')
export class MovieController {

  @Get()
  getMovie(): string {
    return "This is Movie";
  }

  @Post()
  create(): string() {
    return 'This action adds a new Movie';
  }

 

또한 @Get(), @Post() 데코레이션 뿐만 아니라 @Patch(), @Put(), @Delete(), @Options(), @Head(), @All()를 사용하여 HTTP 메소드를 NestJS에서 사용할 수 있습니다.

 

HTTP 메소드에 대해서 더 알고 싶으면 아래 글을 참고하시면 됩니다.

HTTP(HyperText Transfer Protocol )란? HTTP 소개 및 특징

 

HTTP(HyperText Transfer Protocol )란? HTTP 소개 및 특징

1. HTTP란? HTTP란 HyperText Transfer Protocol 의 약자이다. 프로토콜(protocol)이란 상호 간 정의한 규칙으로 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙 체계이다. 클라이언트(웹 브라우저, 혹은

today-is-hoho.tistory.com

 

 

참조

http://docs.nest-js.com/

728x90
반응형

'프로그래밍 정보 > NestJS' 카테고리의 다른 글

NestJS 특징 및 구조  (0) 2021.05.13
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함