๐ ๊ณต๋ถํ๋ ์ง์ง์ํ์นด๋ ์ฒ์์ด์ง?
[Nest JS ๋ก CRUD ๊ฒ์ํ ๋ง๋ค๊ธฐ] (2) Nest JS ๋ชจ๋์ด๋ & Controller & Service ๋ณธ๋ฌธ
[Nest JS ๋ก CRUD ๊ฒ์ํ ๋ง๋ค๊ธฐ] (2) Nest JS ๋ชจ๋์ด๋ & Controller & Service
์ง์ง์ํ์นด 2023. 6. 1. 00:39<๋ณธ ๋ธ๋ก๊ทธ๋ John Ahn ์ ์ ํ๋ธ๋ฅผ ์ฐธ๊ณ ํด์ ๊ณต๋ถํ๋ฉฐ ์์ฑํ์์ต๋๋ค :-)>
=> ๋ฐ๋ผํ๋ฉด์ ๋ฐฐ์ฐ๋ NestJS
๐งธ Nest JS ๋ชจ๋์ด๋
: @Module () ๋ฐ์ฝ๋ ์ดํฐ๋ก ์ฃผ์์ด ๋ฌ๋ฆฐ ํด๋์ค
: Nest ๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์กฐ๋ฅผ ๊ตฌ์ฑํ๋๋ฐ ์ฌ์ฉํ๋ ๋ฉํ ๋ฐ์ดํฐ๋ฅผ ์ ๊ณต
: ๋ชจ๋์ ๋ฐ์ ํ๊ฒ ๊ด๋ จ๋ ๊ธฐ๋ฅ ์งํฉ์ผ๋ก ๊ตฌ์ฑ ์์๋ฅผ ๊ตฌ์ฑํจ (๊ธฐ๋ฅ๋ณ๋ก ๋ง๋ค๊ธฐ)
: ๊ฐ์ ๊ธฐ๋ฅ์ ํด๋นํ๋ ๊ฒ๋ค์ ํ๋์ ๋ชจ๋ ํด๋ ์์ ๋ฃ์ด์ ์ฌ์ฉํจ
: ๋ชจ๋์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฑ๊ธ ํค์ผ๋ก, ์ฌ๋ฌ ๋ชจ๋ ๊ฐ์ ์ฝ๊ฒ ๊ณต๊ธ์์ ๋์ผํ ์ธ์คํด์ค ๊ณต์ ํจ
๐ ๋ชจ๋ ์์ฑํ๊ธฐ
nest g module ๋ชจ๋์ด๋ฆ

๐งธ Nest JS Controller ๋
: ๋ค์ด์ค๋ ์์ฒญ์ ์ฒ๋ฆฌํ๊ณ ํด๋ผ์ด์ธํธ์ ์๋ต์ ๋ฐํํจ
: @Controller ๋ฐ์ฝ๋ ์ดํฐ๋ก ํด๋์ค๋ฅผ ๋ฐ์ฝ๋ ์ด์ ํ์ฌ ์ ์ํจ
: ๋ฐ์ฝ๋ ์ดํฐ๋ ์ธ์๋ฅผ Controller ์ ์ํด์ ์ฒ๋ฆฌ๋๋ "๊ฒฝ๋ก"๋ก ๋ฐ๋๋ค
๐ Handler
: @Get, @Post, @Delete ๋ฑ๊ณผ ๊ฐ์ ๋ฐ์ฝ๋ ์ดํฐ๋ก ์ฅ์ ๋ ์ปจํธ๋กค๋ฌ ํด๋์ค ๋ด์ ๋จ์ํ ๋ฉ์๋
๐ Controller ์์ฑํ๊ธฐ
nest g controller boards --no-spec
// nest : using netcli
// g : generate
// controller : controller schematic
// boards : name of the schematic
// --no-spec : ํ
์คํธ๋ฅผ ์ํ ์์ค ์ฝ๋ ์์ฑ X

๐งธ Nest JS Service ๋
: ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ฑฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ๊ฒ์ํ ์์ฑํ ๋ ๊ทธ ์์ฑํ ๊ฒ์ํ ์ ๋ณด๋ฅผ ๋ฃ์ด์ฃผ๋ ๋์ ๋ก์ง์ ์ฒ๋ฆฌ
: injectable ๋ฐ์ฝ๋ ์ดํฐ๊ฐ ์์ผ๋ฉฐ, Nest JS ๋ ์ด๊ฒ์ ์ด์ฉํด์ ๋ค๋ฅธ ์ปดํฌ๋ํธ์์ ์ด ์๋น์ค๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋ง๋ค์ด์ค
: CLI ๋ก Service ์์ฑ ์์๋ module ์๋ ์๋์ผ๋ก Service ๊ฐ ์ถ๊ฐ๋จ
nest g service boards --no-spec
// nest : using netcli
// g : generate
// service : service schematic
// boards : name of the schematic
// --no-spec : ํ
์คํธ๋ฅผ ์ํ ์์ค ์ฝ๋ ์์ฑ X
