Controller
의 역할은 요청을 처리한 후 클라이언트에 응답하는 파일입니다
이런 컨트롤러를 만들기 위해선 Class
와 Decorator
를 사용하고,
이 때 Decorator
는 클래스와 metaData
와 연결시킵니다!
Decorator
는 앞에 @표시로 시작하는 것으로, 적용시키는 부분 맨 위에
배치시킵니다. 대표적으로 @Request
,@Response
등이 있습니다.
만드는 방법은 터미널에 nest g controller cats
를 입력하면 됩니다.
입력시킨다면 위 화면처럼 폴더와 파일이 만들어지고,
module
이 수정된다고 적혀있는데, 확인하면
위처럼 확인할 수 있습니다.
그리고 원래있던 컨트롤러와 다르게 괄호안에 cats가 들어가있는데, 이는
localhost:3000/cats
를 의미합니다.
일단,
express
에서 Request
를 받아온 후, Decorator
를 이용하여 요청을 받아옵니다.
@Req
이외에 @Param
,@Body
,@Query
,@Headers
등 서버에서 보내는 데이터들을 모두 받아올 수 있습니다.
GET
처럼 POST
도 다른부분은 없지만, POST
는 대부분 정보를 추가할 때 사용되므로, GET
처럼 findAll
이 아닌, create
를 사용한다.
위 코드에선 추가되는 부분은 없지만, 저 안에 추가시키면 된다고 보면된다.
서버측에서 중요한 건 상태코드를 보내주는 것이다.
올바른 방법으로 접근한 것을 보내줘야하기 때문이니, @HttpCode
를 이용하여
상태 코드를 보낼 수 있다.