Controller
-
nestjs 문서 따라하기 #5 (Controller-4)nestjs 2021. 5. 25. 00:39
Asynchronicity Javascript는 비동기적으로 동작하기 때문에 동기적 동작이 필요할 경우 async / await를 사용하여야 한다. Promise를 return하기 Observable return하기 Promise vs Observable Promise async 작업이 끝나거나 에러발생을 핸들링하는 단일 이벤트 핸들러이다. 이벤트가 무조건 실행된다. 즉시 실행된다. Observable stream같이 0~n개의 이벤트를 핸들링 할 수 있다. Promise와 달리 필요하지 않은 이벤트를 취소할 수 있다. subscribe시에만 실행한다. array와 비슷한 operator를 지원한다.(map, reduce, forEach) 참조 https://rxjs-dev.firebaseapp.com/..
-
nestjs 문서 따라하기 #4 (Controller-3)nestjs 2021. 5. 22. 16:13
Resources HTTP 메소드 사용하기 decorator ( @Get(), @Post(), @Put(), @Delete(), @Patch(), @Options(), @Head(), @All() ) 사용방법@All decorator의 경우 어떤 method로 요청이 와도 다 받는다. Route wildcards route 경로에 regex 처럼 사용할 수 있는 문자는 ?, +, *, () 이다. - , . 은 string 그 자체로 사용된다. 아래는 예시이다. Status Code @nestjs/common 패키지에서 import한 HttpCode decorator를 사용해서 status code를 변경할 수 있다. Headers 커스텀 응답헤더는 @Header() decorator로 사용할 수 있다...
-
nestjs 문서 따라하기 #3 (Controller-2)nestjs 2021. 5. 16. 10:45
Router Controller의 목적은 애플리케이션에 대한 특정 요청을 수신하는 것이다. Routing 메커니즘은 어떤 컨트롤러가 어떤 요청을 수신하는지 제어한다. controller가 받은 요청은 api에 따라 Controller의 method로 라우팅된다. 여기서 return 이 status도 없이 string만 전달하는게 이상하게 느껴질 수 있다. 기존 express를 사용할 때는 함수에서 인자로 req, res를 받은 뒤 res.status(400).json({err: ‘Incorrect id’});와 같이 status를 설정하고 json형식으로 응답을 전달해야 한다. 하지만 nest는 아래와 같다. 참조: Request Object nest에서 request Object를 쓰기 위해서는 @Re..
-
nestjs 문서 따라하기 #2 (Controller-1)nestjs 2021. 5. 6. 07:02
Controller란? 쉽게 말해서 Client Side에서의 요청을 받는 layer이다. (Route의 역할을 한다.) HTTP, GraphQL, NATS, ...etc 등의 interface를 통해 Client Side에서 요청이 오면 해당 요청을 받고 Client에게 response를 주는 Layer이다. Logic은 들어가지 않고 요청에 맞게 logic이 구현된 service를 호출해준다. (service는 다음 장에서 알아보겠다.) 여기서 Nestjs는 request와 연관된 controller를 연결시켜주는 역할을 하는 Decorator (클래스들을 요구되는 metadata와 연결해 주고 Nest에게 routing map을 가능하게 한다.)를 사용한다. 우리는 이 Controller Decor..