MSA์—์„œ Response Entity์™€ Response custom class๋กœ ์‘๋‹ต ํ†ต์ผํ•˜๊ธฐ
ยท
๐Ÿ’ชBackend/Spring
ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋‹ค์–‘ํ•œ ํŒ€์›๊ณผ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ๋ชจ๋“ˆ์ด๋‚˜ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋  ๋•Œ, ์‘๋‹ต ํ˜•์‹์ด ํ†ต์ผ๋˜์ง€ ์•Š์œผ๋ฉด ํ˜ผ๋ž€์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ, ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜(MSA)์—์„œ๋Š” ์—ฌ๋Ÿฌ ์„œ๋น„์Šค๊ฐ€ ๋…๋ฆฝ์ ์œผ๋กœ ๊ฐœ๋ฐœ๋˜๊ธฐ ๋•Œ๋ฌธ์—, ๊ฐ ์„œ๋น„์Šค๋งˆ๋‹ค ์„œ๋กœ ๋‹ค๋ฅธ ์‘๋‹ต ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ „์ฒด ์‹œ์Šคํ…œ์˜ ์ผ๊ด€์„ฑ์„ ํ•ด์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ํ”„๋กœ์ ํŠธ์—์„œ๋“  ํ†ต์ผ๋œ ์‘๋‹ต ํฌ๋งท์€ ํด๋ผ์ด์–ธํŠธ์™€ ํ˜‘์—…ํ•˜๋Š” ํŒ€์› ๋ชจ๋‘์—๊ฒŒ ๋ช…ํ™•ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๋””๋ฒ„๊น…๊ณผ ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์šฉ์ดํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜ ํฌ์ŠคํŒ…์—์„œ ์†Œ๊ฐœํ•  ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋Š” Spring Boot์—์„œ ์ œ๊ณตํ•˜๋Š” ResponseEntity์™€ ํ•จ๊ป˜, ์ œ๋„ค๋ฆญ ์ปค์Šคํ…€ Response ํด๋ž˜์Šค๋ฅผ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค! Resposne ๊ฐ์ฒด ์ƒ์„ฑ์•„๋ž˜์™€ ๊ฐ™์ด ๊ฐ„๋‹จํ•˜๋ฉด์„œ๋„ ํ™•์žฅ์„ฑ์ด ๋›ฐ..
[Spring] DI(์˜์กด์„ฑ ์ฃผ์ž…): ์™œ ํ•„์š”ํ•˜๊ณ  ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ• ๊นŒ?
ยท
๐Ÿ’ชBackend/Spring
์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ(Spring Framework)์˜ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฐœ๋… ์ค‘ ํ•˜๋‚˜๋Š” DI(Dependency Injection, ์˜์กด์„ฑ ์ฃผ์ž…)์ž…๋‹ˆ๋‹ค. DI๋ฅผ ์ดํ•ดํ•˜๋ฉด ๋ณด๋‹ค ์œ ์—ฐํ•˜๊ณ  ์œ ์ง€๋ณด์ˆ˜ํ•˜๊ธฐ ์‰ฌ์šด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” DI๊ฐ€ ๋ฌด์—‡์ธ์ง€, ์™œ ํ•„์š”ํ•œ์ง€, ๊ทธ๋ฆฌ๊ณ  ์Šคํ”„๋ง์—์„œ DI๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค! 1. ์˜์กด์„ฑ(Dependency)์ด๋ž€?ํ•˜๋‚˜์˜ ๊ฐ์ฒด๊ฐ€ ๋‹ค๋ฅธ ๊ฐ์ฒด๋ฅผ ํ•„์š”๋กœ ํ•˜๋Š” ๊ด€๊ณ„๋ฅผ ๋œปํ•ฉ๋‹ˆ๋‹ค.์ฆ‰, ํ•˜๋‚˜์˜ ๊ฐ์ฒด๊ฐ€ ๋™์ž‘ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค๋ฅธ ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” ์•ž์œผ๋กœ ์˜์กด๊ณผ ์‚ฌ์šฉ์„ ๋™์ผํ•œ ์˜๋ฏธ๋กœ ์–ธ๊ธ‰ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค! (feat. ์†ก์•„์Œค)  ์˜ˆ์ œ๋ฅผ ๋ณด์ž๋ฉด,public class ProductController { private ProductService productServ..