Loading...
2020. 5. 20. 21:04

[Spring boot] Spring Data Rest๋ฅผ ์ด์šฉํ•œ REST API ๊ฐœ๋ฐœ 2

์ง€๋‚œ ํฌ์ŠคํŠธ์—์„œ Spring Data Rest๋ฅผ ์ด์šฉํ•ด Domain๊ณผ Repository Interface๋งŒ์„ ๊ตฌํ˜„ํ•˜์—ฌ HATEOAS์— ์ค€์ˆ˜ํ•œ REST API ์„œ๋ฒ„๋ฅผ ๊ฐœ๋ฐœํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ REST API๋ฅผ ์„ค๊ณ„ํ•˜๋‹ค๋ณด๋ฉด, HATEOAS์˜ ๊ตฌ์กฐ๊ฐ€ ๋งˆ์Œ์— ๋“ค์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, ๋ฐ์ดํ„ฐ๊ฐ€ ๋น„์–ด์žˆ์„ ๋•Œ ํด๋ž˜์Šค์˜ ์ •๋ณด๊ฐ€ ๋‚˜์˜จ๋‹ค๊ฑฐ๋‚˜, ์ด ์™ธ์˜ ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ๋‹ค๊ฑฐ๋‚˜, ๋งŒ์•ฝ User ์ •๋ณด๋ฅผ ๊ฐ€์ ธ๋‹ค ์ค€๋‹ค๋ฉด, ํŒจ์Šค์›Œ๋“œ ์ •๋ณด์™€ ๊ฐ™์€ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋Š” ์ˆจ๊ฒจ์•ผํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„œ๋Š” Spring Data Rest์— Controller + Service ์กฐํ•ฉ์„ ๋„ฃ์–ด์„œ ๋‚˜๋งŒ์˜ REST API๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ API ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค์–ด๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ ธ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. RepositroyRestController ์ง€๋‚œ ํฌ..

2020. 5. 20. 11:13

[Spring boot] Spring Data Rest๋ฅผ ์ด์šฉํ•œ REST API ๊ฐœ๋ฐœ 1

MVC ํŒจํ„ด์— ์ด์–ด์„œ, ์ด๋ฒˆ์—๋Š” Spring Data Rest๋ฅผ ์ด์šฉํ•˜์—ฌ REST API ์„œ๋ฒ„๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ ธ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. MVC ํŒจํ„ด์—์„œ๋Š” Domain, Controller, Repository ์ด๋ ‡๊ฒŒ 3๊ฐ€์ง€๋ฅผ ์ด์šฉํ•˜์˜€๊ณ , ์ถ”๊ฐ€๋กœ Service ํด๋ž˜์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด ๋”์šฑ ์„ธ๋ถ€์ ์ธ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. Spring Data Rest๋Š” VC๋ฅผ ์ƒ๋žตํ•˜๊ณ , ์˜ค์ง Domain๊ณผ Repository๋งŒ์„ ๊ฐ€์ง€๊ณ  ์•„์ฃผ ์‰ฝ๊ฒŒ REST API ์„œ๋ฒ„๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ ์‹œ์ž‘ํ•ด๋ณด๋„๋ก ํ•˜์ฃ . ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์ค€๋น„ ๊ธฐ์กด์˜ MVC ํŒจํ„ด์„ ์‚ฌ์šฉํ–ˆ๋˜ ๋””ํŽœ๋˜์‹œ์—์„œ ์ผ๋ถ€ ๋ณ€๊ฒฝํ•˜์—ฌ, Rest Repositores ์„ ํƒํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. Spring Data Rest์—์„œ๋Š” base-path๋ฅผ ์ง€์ •ํ•˜์—ฌ ๋ชจ๋“  A..