<aside> ๐ Controller๋ ๋ค์ด์ค๋ ์์ฒญ(request)๋ฅผ ๋ฐ๊ณ ์ฒ๋ฆฌ๋ ๊ฒฐ๊ณผ๋ฅผ ์๋ต(response)์ผ๋ก ๋๋ ค์ฃผ๋ ์ธํฐํ์ด์ค ์ญํ ์ ํ๋ค.
</aside>
Controller์ ๋ชฉ์ ์ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ํ ํน์ ์์ฒญ์ ๋ฐ๋ ๊ฒ์ด๋ค.
Controller๋ end-point ๋ผ์ฐํ (routing) ๋งค์ปค๋์ฆ์ ํตํด ๊ฐ Controller๊ฐ ๋ฐ์ ์ ์๋ ์์ฒญ์ ๋ถ๋ฅํ๋ค.
๊ธฐ๋ณธ Controller๋ฅผ ๋ง๋ค๊ธฐ ์ํด ํด๋์ค์ Decorators๋ฅผ ์ฌ์ฉํ๋ค. โ ์์ฒญ์ ํด๋น ์ปจํธ๋กค๋ฌ์ ์ฐ๊ฒฐํ๋ค.
nest CLI๋ฅผ ์ด์ฉํ์ฌ ์ฝ๊ฒ ์์ฑํ ์ ์๋ค.
nest g controller [name]
Controller๋ฅผ ์ฌ์ฉ ๋ชฉ์ ์ ๋ฐ๋ผ ๊ตฌ๋ถํ๋ฉด ๊ตฌ์กฐ์ ์ด๊ณ ๋ชจ๋ํ๋ ์ํํธ์จ์ด๋ฅผ ์์ฑํ ์ ์๋ค!
import { Controller, Get } from '@nestjs/common';
import { AppService } from './app.service';
@Controller()
export class AppController {
constructor(private readonly appService: AppService) {}
@Get()
getHello(): string {
return this.appService.getHello();
}
}
์๋ฒ๊ฐ ์ํํด์ผํ๋ ๋ง์ ๊ท์ฐฎ์ ์์ ์ ๋ฐ์ฝ๋ ์ดํฐ๋ก ๊ธฐ์ ํ์ฌ, ์ดํ๋ฆฌ์ผ์ด์ ์ด ๊ฐ์ง๋ ํต์ฌ ๋ก์ง์ ์ง์คํ ์ ์๋๋ก ๋์์ค๋ค.
โ @Controller
๋ฐ์ฝ๋ ์ดํฐ๋ฅผ ํด๋์ค์ ์ ์ธํ๋ฉด, ํด๋น ํด๋์ค๋ Controller์ ์ญํ ์ ํ๊ฒ ๋๋ค.