์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

[JPA] ์Šคํ”„๋ง ๋ถ€ํŠธ ๊ฐ„๋‹จํ•œ ์š”์ฒญ๊ณผ ์‘๋‹ต ๋™์ž‘ ๋ฐฉ์‹์„ ์•Œ์•„๋ณด์ž.

๋ฏธ๋กœ910 2024. 9. 26. 16:38
๐Ÿ’ก
1. ๋””์ŠคํŒจ์ฒ˜ ์„œ๋ธ”๋ฆฟ์— ๋Œ€ํ•ด์„œ ์•Œ์•„ ๋ณด์ž.
2. ๋ฉ”์‹œ์ง€ ์ปจ๋ฒ„ํ„ฐ์™€ ๋ทฐ ๋ฆฌ์กธ๋ฒ„๋ฅผ ๊ธฐ์–ตํ•ด ๋ณด์ž.

 

์Šคํ”„๋ง ๋ถ€ํŠธ ๊ทธ๋ฆผ์œผ๋กœ ์š”์•ฝํ•œ ์š”์ฒญ๊ณผ ์‘๋‹ต์— ํ๋ฆ„ ์‚ดํŽด ๋ณด๊ธฐ

  1. ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ /user๋กœ GET ์š”์ฒญ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์š”์ฒญ์€ ํ†ฐ์บฃ์„ ๊ฑฐ์ณ ์Šคํ”„๋ง ๋ถ€ํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.
  2. ์ด๋•Œ, ์Šคํ”„๋ง ๋ถ€ํŠธ์˜ **๋””์ŠคํŒจ์ฒ˜ ์„œ๋ธ”๋ฆฟ(DispatcherServlet)**์ด ์š”์ฒญ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค. ๋””์ŠคํŒจ์ฒ˜ ์„œ๋ธ”๋ฆฟ์€ ์š”์ฒญ๋œ URL์„ ๋ถ„์„ํ•˜๊ณ , ์ด๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์ปจํŠธ๋กค๋Ÿฌ์™€ ํ•ด๋‹น ๋ฉ”์„œ๋“œ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.
  3. ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ, ๋น„์ฆˆ๋‹ˆ์Šค ๊ณ„์ธต(Service) ๋ฐ ํผ์‹œ์Šคํ„ด์Šค ๊ณ„์ธต(Repository)์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  4. ์‘๋‹ต ๊ณผ์ •์—์„œ MIME ํƒ€์ž…(์˜ˆ: JSON, HTML, XML ๋“ฑ)์— ๋”ฐ๋ผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‘๋‹ต ๋ฐฉ์‹์ด ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค:
    • JSON, XML ๋“ฑ ๋ฐ์ดํ„ฐ ํฌ๋งท์œผ๋กœ ์‘๋‹ตํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ, ๋ฉ”์‹œ์ง€ ์ปจ๋ฒ„ํ„ฐ๊ฐ€ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, @ResponseBody๊ฐ€ ๋ถ™์€ ๋ฉ”์„œ๋“œ๋Š” ๋ฉ”์‹œ์ง€ ์ปจ๋ฒ„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž๋ฐ” ๊ฐ์ฒด๋ฅผ JSON ๋˜๋Š” XML๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
    • HTML ๋“ฑ์˜ ๋ทฐ ํ…œํ”Œ๋ฆฟ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ, **๋ทฐ ๋ฆฌ์กธ๋ฒ„(View Resolver)**๊ฐ€ ์ž‘๋™ํ•˜์—ฌ, ํ…œํ”Œ๋ฆฟ ์—”์ง„(์˜ˆ: Thymeleaf, JSP)์„ ํ†ตํ•ด HTML ๋ฌธ์„œ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.