체인의정석

Nest.js ) - Controllers 본문

개발/backend

Nest.js ) - Controllers

체인의정석 2021. 10. 15. 14:39
728x90
반응형

http 요청이 들어오게 되면 먼저 controller를 거치게 된다. 컨트롤러에서는 라우팅 작업을 수행하게 된다. 이때 클래스와 데코레이터를 사용하여 경로를 만들어 주게 된다.

 

nest g resource [name]

 

이런식으로 입력을 하면 리소스가 바로 생성이 된다고 한다. 아래와 같이 경로별로 폴더가 들어 있는것을 확인할 수 있다.

이런식으로 경로별로 하나의 단위로 묶은 후 그 안에서 모듈 ,서비스, 컨트롤러인 형태로 만드는것이 장기적으로 봤을 때 유리한것 같다.

? What transport layer do you use? REST API
? Would you like to generate CRUD entry points? Yes
CREATE src/address/address.controller.spec.ts (586 bytes)
CREATE src/address/address.controller.ts (946 bytes)
CREATE src/address/address.module.ts (261 bytes)
CREATE src/address/address.service.spec.ts (467 bytes)
CREATE src/address/address.service.ts (649 bytes)
CREATE src/address/dto/create-address.dto.ts (33 bytes)
CREATE src/address/dto/update-address.dto.ts (181 bytes)
CREATE src/address/entities/address.entity.ts (24 bytes)
UPDATE package.json (2007 bytes)
UPDATE src/app.module.ts (339 bytes)
✔ Packages installed successfully.

 

설치를 맨 처음에 하면 위와 같은 모양이 나오게 된다.

 

 

 

 

 

 

 

여기서 하나의 경로에 여러 경로가 포함되게 구조를 만들고 싶었기

때문에 오른쪽과 같이 경로를 조정해 주었다.

 

나는 get 함수만 가져올 생각이였으므로 다음과 같이 get에 대한 api를 작성하였다.

  @Get(':address')
  findOne(@Param('address') address: string) {
    return this.addressService.findOne(+address);
  }

만약 나중에 다른 crud를 여기서 실행하게 된다면 자동으로 생성된 나머지 부분에 대한 처리도 해줄 예정이다.

 

이렇게 경로를 컨트롤러에서 설정을 해주었다. 조금 더 다양한 케이스는 일단 한바퀴를 돌고 다시 해봐야겠다.

 

 

출저 : https://docs.nestjs.kr/controllers

 

네스트JS 한국어 매뉴얼 사이트

네스트JS 한국, 네스트JS Korea 한국어 매뉴얼

docs.nestjs.kr

 

728x90
반응형

'개발 > backend' 카테고리의 다른 글

Nest.js ) Modules  (0) 2021.10.15
Nest.js ) Providers  (0) 2021.10.15
Nest.js ) - first Step  (0) 2021.10.15
rest api 짜기 ) get 에 대하여  (0) 2021.10.14
security lint) Unsafe Regular Expression, 이메일 정규표현식 검사  (0) 2021.09.08
Comments