๐Ÿ˜Ž ๊ณต๋ถ€ํ•˜๋Š” ์ง•์ง•์•ŒํŒŒ์นด๋Š” ์ฒ˜์Œ์ด์ง€?

[Nest JS ๋กœ CRUD ๊ฒŒ์‹œํŒ ๋งŒ๋“ค๊ธฐ] (2) Nest JS ๋ชจ๋“ˆ์ด๋ž€ & Controller & Service ๋ณธ๋ฌธ

๐Ÿ‘ฉโ€๐Ÿ’ป ๋ฐฑ์—”๋“œ(Back-End)/Nest js

[Nest JS ๋กœ CRUD ๊ฒŒ์‹œํŒ ๋งŒ๋“ค๊ธฐ] (2) Nest JS ๋ชจ๋“ˆ์ด๋ž€ & Controller & Service

์ง•์ง•์•ŒํŒŒ์นด 2023. 6. 1. 00:39
728x90
๋ฐ˜์‘ํ˜•

<๋ณธ ๋ธ”๋กœ๊ทธ๋Š” 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

728x90
๋ฐ˜์‘ํ˜•
Comments