spring 11

[์›น๊ฐœ๋ฐœ์˜ ๋ด„, Spring] 5์ฃผ์ฐจ ๊ฐœ๋ฐœ์ผ์ง€ - AWS๋ฅผ ์ด์šฉํ•œ ๋ฐฐํฌ

๊ทธ๋™์•ˆ์˜ ๊ฐœ๋ฐœ์—์„œ๋Š” H2๋ฅผ ์‚ฌ์šฉํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„๋ฅผ ์ค‘์ง€ํ•˜๋ฉด ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ๋ผ์กŒ๋‹ค. ๊ทธ๋ž˜์„œ AWS RDS์™€ ์„œ๋น„์Šค๋ฅผ ์—ฐ๊ฒฐํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ํด๋ผ์šฐ๋“œ์— ์ €์žฅํ•˜๋„๋ก ํ–ˆ๋‹ค. ๋˜ํ•œ AWS EC2๋ฅผ ์ด์šฉํ•˜์—ฌ ์ „ ์ฃผ์ฐจ์— ๋งŒ๋“ค์—ˆ๋˜ ์„ ๋ฐฐํฌํ–ˆ๋‹ค. AWS๋ฅผ ์ด์šฉํ•œ ๋ฐฐํฌ ๐Ÿ’ก RDS ์ƒ์„ฑํ•˜๊ธฐ Amazon Relational Database Service(RDS)๋ฅผ ์ด์šฉํ•˜์—ฌ ํด๋ผ์šฐ๋“œ์—์„œ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„ค์ •, ์šด์˜ํ•ด๋ณด์ž. RDS๋Š” ํ˜„์žฌ Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle Database, SQL Server ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—”์ง„์„ ์ œ๊ณตํ•œ๋‹ค. ๋‚˜๋Š” ์ด์ค‘์— MySQL์„ ์„ ํƒํ–ˆ๋‹ค. AWS ์ ‘์† ํ›„ ๋กœ๊ทธ์ธํ•˜๊ธฐ RDS ์„œ๋น„์Šค๋ฅผ ๊ฒ€์ƒ‰ํ•ด ๋“ค์–ด๊ฐ€๊ธฐ "๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ" ๋ฒ„ํŠผ ํด๋ฆญํ•˜๊ธฐ "ํ‘œ์ค€..

Server/SpringBoot 2021.07.20

[์›น๊ฐœ๋ฐœ์˜ ๋ด„, Spring] 4์ฃผ์ฐจ ๊ฐœ๋ฐœ์ผ์ง€(2) - <๋‚˜๋งŒ์˜ ์…€๋ ‰์ƒต> ์„œ๋ฒ„

[์›น๊ฐœ๋ฐœ์˜ ๋ด„, Spring] 4์ฃผ์ฐจ ๊ฐœ๋ฐœ์ผ์ง€(1) - ๋„ค์ด๋ฒ„ ์‡ผํ•‘ API ์ด์šฉํ•˜๊ธฐ ์ด์ „ ํฌ์ŠคํŒ…์—์„œ ๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค๊ณ„ํ–ˆ๋‹ค. ๊ธฐ๋Šฅ Method URL return ํ‚ค์›Œ๋“œ๋กœ ์ƒํ’ˆ ๊ฒ€์ƒ‰ํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ชฉ๋ก์œผ๋กœ ๋ณด์—ฌ์ฃผ๊ธฐ GET /api/search?query=๊ฒ€์ƒ‰์–ด List ๊ด€์‹ฌ ์ƒํ’ˆ ๋“ฑ๋กํ•˜๊ธฐ POST /api/products Product ๊ด€์‹ฌ ์ƒํ’ˆ ์กฐํšŒํ•˜๊ธฐ GET /api/products List ๊ด€์‹ฌ ์ƒํ’ˆ์— ๊ด€์‹ฌ ๊ฐ€๊ฒฉ ๋“ฑ๋กํ•˜๊ณ , ์ƒํ’ˆ ๊ฐ€๊ฒฉ์ด ๋” ๋‚ฎ์€ ๊ฒฝ์šฐ ํ‘œ์‹œํ•˜๊ธฐ PUT /api/products/{id} id 1. Controller ProductRestController: ๊ด€์‹ฌ ์ƒํ’ˆ ๊ด€๋ จ ์ปจํŠธ๋กค๋Ÿฌ SearchRequestContorller: ๊ฒ€์ƒ‰ ๊ด€๋ จ ์ปจํŠธ๋กค๋Ÿฌ 2. Service ProductServ..

Server/SpringBoot 2021.07.16

[์›น๊ฐœ๋ฐœ์˜ ๋ด„, Spring] 4์ฃผ์ฐจ ๊ฐœ๋ฐœ์ผ์ง€(1) - ๋„ค์ด๋ฒ„ ์‡ผํ•‘ API ์ด์šฉํ•˜๊ธฐ

๊ฐœ๋ฐœ์˜ ํ•ต์‹ฌ ์ค‘ ํ•˜๋‚˜๋Š” ๋ถ„์—…๊ณผ ๋Š์Šจํ•œ ๊ฒฐํ•ฉ์ด๋‹ค. ๋ถ„์—…์„ ํ†ตํ•ด ๊ธฐ๋Šฅ์„ ์˜จ์ „ํžˆ ์ž‘๋™ํ•˜๊ฒŒ ํ•˜๊ณ , ๋Š์Šจํžˆ ๊ฒฐํ•ฉํ•จ์œผ๋กœ์จ ์œ ์—ฐ์„ฑ๊ณผ ํ™•์žฅ์„ฑ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค. ์Šคํ”„๋ง์˜ ์ฒ™์ถ”๋ผ ํ•  ์ˆ˜ ์žˆ๋Š” Controller, Service, Repository 3๊ณ„์ธต์€ ๋ถ„์—…๊ณผ ๋Š์Šจํ•œ ๊ฒฐํ•ฉ์˜ ๋Œ€ํ‘œ์ ์ธ ์˜ˆ์‹œ์ด๋‹ค. ๋Š์Šจํ•œ ๊ฒฐํ•ฉ์˜ ๋˜ ๋‹ค๋ฅธ ์˜ˆ์‹œ๊ฐ€ ๋ฐ”๋กœ API์ด๋‹ค. ๋‚ด๊ฐ€ API์˜ ๋‚ด๋ถ€ ๋กœ์ง์ด ์–ด๋–ป๊ฒŒ ์งœ์—ฌ์กŒ๋Š”์ง€ ๋ชจ๋ฅด๋Š” ์ƒํ™ฉ์—์„œ๋„, ๊ณต์‹ ๋ฌธ์„œ์— ๋‚˜์˜จ ์ •ํ•ด์ง„ ์•ฝ์†๋Œ€๋กœ ์š”๊ตฌ๋ฅผ ํ•˜๋ฉด ์ •ํ•ด์ง„ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ API๋ฅผ "์‚ฌ์šฉ"ํ•  ์ค„ ์•„๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค. ์ด๋ฒˆ ์ฃผ์ฐจ ์ˆ˜์—… ๋‚ด์šฉ์€ ์Šคํ”„๋ง์˜ 3๊ณ„์ธต๊ณผ API handling ์—ฐ์Šต์— ์ค‘์ ์„ ๋’€๋‹ค. ์ด๋ฒˆ์— ๋งŒ๋“ค ๊ฒƒ์€ ์ด๋‹ค. ์š”๊ตฌ ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์ƒํ’ˆ๋ช…์— ๋”ฐ๋ฅธ ๊ฒ€์ƒ‰ ๊ด€์‹ฌ ์ƒํ’ˆ ๋“ฑ๋ก & ์กฐํšŒ ๊ด€์‹ฌ ์ƒ..

Server/SpringBoot 2021.07.16

[์›น๊ฐœ๋ฐœ์˜ ๋ด„, Spring] 3์ฃผ์ฐจ ๊ฐœ๋ฐœ์ผ์ง€(2) - Timeline Service ํด๋ผ์ด์–ธํŠธ

[์›น๊ฐœ๋ฐœ์˜ ๋ด„, Spring] 3์ฃผ์ฐจ ๊ฐœ๋ฐœ์ผ์ง€(1) - Timeline Service ์„œ๋ฒ„ ํด๋ผ์ด์–ธํŠธ ์„ค๊ณ„ ๋ฐ ๊ตฌํ˜„ ๐Ÿ’ก ํด๋ผ์ด์–ธํŠธ ์„ค๊ณ„ Timeline Service์— ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ๋ฉ”๋ชจ ์กฐํšŒํ•˜๊ธฐ - ์ฒ˜์Œ ์›น์‚ฌ์ดํŠธ์— ์ ‘์†ํ–ˆ์„ ๋•Œ, ์ƒˆ๋กœ๊ณ ์นจ์„ ํ–ˆ์„ ๋•Œ ์ž‘๋™ 1) GET API ์‚ฌ์šฉํ•ด์„œ ๋ฉ”๋ชจ ๋ชฉ๋ก ๋ถˆ๋Ÿฌ์˜ค๊ธฐ 2) ๋ฉ”๋ชจ๋งˆ๋‹ค HTML ๋งŒ๋“ค๊ณ  ๋ถ™์ด๊ธฐ ๋ฉ”๋ชจ ์ƒ์„ฑํ•˜๊ธฐ - ์‚ฌ์šฉ์ž๊ฐ€ ๋ฉ”๋ชจ ์ž‘์„ฑ ๋ฒ„ํŠผ์„ ํด๋ฆญํ–ˆ์„ ๋•Œ ์ž‘๋™ 1) ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๋ฉ”๋ชจ ๋‚ด์šฉ ํ™•์ธํ•˜๊ธฐ 2) POST API ์‚ฌ์šฉํ•ด์„œ ๋ฉ”๋ชจ ์‹ ๊ทœ ์ƒ์„ฑํ•˜๊ธฐ 3) ํ™”๋ฉด ์ƒˆ๋กœ๊ณ ์นจํ•˜์—ฌ ์—…๋ฐ์ดํŠธ๋œ ๋ฉ”๋ชจ ๋ชฉ๋ก ํ™•์ธํ•˜๊ธฐ ๋ฉ”๋ชจ ๋ณ€๊ฒฝํ•˜๊ธฐ - ์‚ฌ์šฉ์ž๊ฐ€ ํŠน์ • ๋ฉ”๋ชจ์˜ ์ˆ˜์ • ๋ฒ„ํŠผ์„ ํด๋ฆญํ–ˆ์„ ๋•Œ ์ž‘๋™ 1) ์‚ฌ์šฉ์ž๊ฐ€ ํด๋ฆญํ•œ ๋ฉ”๋ชจ๊ฐ€ ์–ด๋–ค ๊ฒƒ์ธ์ง€ ํ™•์ธํ•˜๊ธฐ 2) ๋ณ€๊ฒฝํ•œ ๋ฉ”๋ชจ ๋‚ด์šฉ ํ™•์ธํ•˜..

Server/SpringBoot 2021.07.13

[์›น๊ฐœ๋ฐœ์˜ ๋ด„, Spring] 3์ฃผ์ฐจ ๊ฐœ๋ฐœ์ผ์ง€(1) - Timeline Service ์„œ๋ฒ„

3์ฃผ์ฐจ์—์„œ๋Š” ๊ฐ„๋‹จํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์™„์„ฑํ•ด๋ดค๋‹ค. ์™„์„ฑํ•œ ํ”„๋กœ์ ํŠธ๋Š” Timeline Service๋กœ, ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ„๋‹จํ•œ ๋ฉ”๋ชจ๋ฅผ ์ž‘์„ฑ, ์ˆ˜์ •, ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค์ด๋‹ค. ํŠน์ดํ•œ ์ ์€, ์ž‘์„ฑํ•œ ์ง€ 24์‹œ๊ฐ„์ด ์ง€๋‚œ ๋ฉ”๋ชจ๋“ค์€ ์ž๋™์œผ๋กœ ์‚ญ์ œ๋œ๋‹ค๋Š” ์ ์ด๋‹ค. ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ ์ ˆ์ฐจ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. API ์„ค๊ณ„ํ•˜๊ธฐ Repository, Service, Controller ๋งŒ๋“ค๊ธฐ ํด๋ผ์ด์–ธํŠธ ์„ค๊ณ„ํ•˜๊ธฐ ํด๋ผ์ด์–ธํŠธ ์™„์„ฑํ•˜๊ธฐ ์ค‘๊ฐ„์— HTML, CSS, Javascript, jQuery์— ๊ด€ํ•œ ๋‚ด์šฉ์„ ํ•™์Šตํ–ˆ์ง€๋งŒ, ์ด ๋ถ€๋ถ„์€ ์™•์ดˆ๋ณด ์‹œ์ž‘๋ฐ˜ ๊ฐ•์˜ ๋‚ด์šฉ๊ณผ ๊ฒน์น˜๊ธฐ ๋•Œ๋ฌธ์— ๋”ฐ๋กœ ์ •๋ฆฌํ•˜์ง„ ์•Š๊ฒ ๋‹ค. ์„œ๋ฒ„์™€ ๊ด€๋ จ๋œ 1, 2๋ฒˆ๊ณผ ํด๋ผ์ด์–ธํŠธ์™€ ๊ด€๋ จ๋œ 3, 4๋ฒˆ์„ ๋‚˜๋ˆ ์„œ ํฌ์ŠคํŒ…์„ ์ž‘์„ฑํ•˜๋ คํ•œ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์„œ๋ฒ„ ๊ด€๋ จ ๋‚ด์šฉ์„ ์ ์–ด๋ณด๊ฒ ๋‹ค๐Ÿ˜‰ ..

Server/SpringBoot 2021.07.13

[์›น๊ฐœ๋ฐœ์˜ ๋ด„, Spring] 2์ฃผ์ฐจ ๊ฐœ๋ฐœ์ผ์ง€(3) - Lombok, DTO, Controller

[์›น๊ฐœ๋ฐœ์˜ ๋ด„, Spring] 2์ฃผ์ฐจ ๊ฐœ๋ฐœ์ผ์ง€(1) - RDBMS, H2, SQL [์›น๊ฐœ๋ฐœ์˜ ๋ด„, Spring] 2์ฃผ์ฐจ ๊ฐœ๋ฐœ์ผ์ง€(2) - JPA์˜ CRUD์™€ Repository ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ ์ •๋ฆฌํ•  ๋ถ€๋ถ„์€ Lombok, DTO, Controller์— ๊ด€ํ•œ ๋‚ด์šฉ์ด๋‹ค. Lombok ๐Ÿ’ก Lombok์ด๋ž€? Lombok(๋กฌ๋ณต)์€ ์ž๋ฐ” ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋Š”๋ฐ ๊ฑฐ์˜ ํ•„์ˆ˜์ ์œผ๋กœ ํ•„์š”ํ•œ ๋ฉ”์†Œ๋“œ/์ƒ์„ฑ์ž ๋“ฑ์„ ์ž๋™ ์ƒ์„ฑํ•ด์คŒ์œผ๋กœ์จ ์ฝ”๋“œ๋ฅผ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. plugins์—์„œ lombok์„ ๊ฒ€์ƒ‰ํ•ด์„œ ์„ค์น˜ํ•œ ํ›„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. Getter, NoArgsConstructor, RequiredArgsConstructor ๋“ฑ์„ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•ด๋ดค๋‹ค. DTO ๐Ÿ’ก DTO์˜ ํ•„์š”์„ฑ read, update๋ฅผ ํ•  ๋•Œ ..

Server/SpringBoot 2021.07.06

[์›น๊ฐœ๋ฐœ์˜ ๋ด„, Spring] 2์ฃผ์ฐจ ๊ฐœ๋ฐœ์ผ์ง€(2) - JPA์˜ CRUD์™€ Repository

[์›น๊ฐœ๋ฐœ์˜ ๋ด„, Spring] 2์ฃผ์ฐจ ๊ฐœ๋ฐœ์ผ์ง€(1) - RDBMS, H2, SQL ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ ์ •๋ฆฌํ•  ๋ถ€๋ถ„์€ JPA์™€ Repository์— ๊ด€ํ•œ ๋‚ด์šฉ์ด๋‹ค. JPA ๐Ÿ’ก JPA๋ž€? JPA๋Š” SQL์„ ์“ฐ์ง€ ์•Š๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑ, ์กฐํšŒ, ์ˆ˜์ •, ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ๋ฒˆ์—ญ๊ธฐ์ด๋‹ค. JPA๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ์ž๋ฐ”๋กœ ์ฝ”๋“œ ์ž‘์„ฑ์„ ํ•˜๋‹ค๊ฐ€ ๊ฐ‘์ž๊ธฐ SQL์„ ์งœ๊ณ , ๋˜ ๊ทธ๊ฑธ ์ž˜ ๋งž์ถ”์–ด ๋„ฃ์–ด์•ผ ํ•˜๋Š” ๋ณต์žกํ•œ ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค. ๋ฐ˜๋ฉด์— JPA๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ„๋‹จํ•œ ์„ค์ •๊ณผ ํ•จ๊ป˜ ๋ช…๋ น๋„ ์ž๋ฐ”๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ตฟ๊ตฟ~ ๐Ÿ’ก JPA ์‚ฌ์šฉํ•ด๋ณด๊ธฐ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ Dependencies์— JPA๋ฅผ ์ถ”๊ฐ€ํ–ˆ์œผ๋ฏ€๋กœ ๋”ฐ๋กœ ์„ค์ •์—†์ด ๋ฐ”๋กœ JPA๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. DB์—์„œ์˜ "ํ…Œ์ด๋ธ”"์€ ์ž๋ฐ”์—์„œ Domain, "SQL"์€ Repository๋ผ๊ณ  ..

Server/SpringBoot 2021.07.06

[์›น๊ฐœ๋ฐœ์˜ ๋ด„, Spring] 2์ฃผ์ฐจ ๊ฐœ๋ฐœ์ผ์ง€(1) - RDBMS, H2, SQL

2์ฃผ์ฐจ์—์„œ๋Š” ๊ธฐ์ดˆ์ ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ˆœ์„œ๋กœ ํ•™์Šตํ–ˆ๋‹ค. RDBMS, H2, SQL JPA, Repository API, Lombok, DTO ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ ์ •๋ฆฌํ•  ๋ถ€๋ถ„์€ DB์™€ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋ถ€๋ถ„์ธ RDBMS, H2, SQL์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด๋‹ค. RDBMS ๐Ÿ’ก RDBMS๋ž€? RDBMS(Relational DataBase Management System)์€ ์ปดํ“จํ„ฐ์— ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค. ๋Œ€ํ‘œ์ ์ธ ์ข…๋ฅ˜๋กœ๋Š” MySQL, PostgreSQL, Oracle Database ๋“ฑ์ด ์žˆ๋‹ค. ๊ฐ•์˜์˜ 4์ฃผ์ฐจ๊นŒ์ง€๋Š” H2๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. H2๋Š” In-memory DB๋กœ, ์„œ๋ฒ„๊ฐ€ ์ž‘๋™ํ•˜๋Š” ๋™์•ˆ์—๋งŒ ๋‚ด์šฉ์„ ์ €์žฅํ•˜๊ณ  ์„œ๋ฒ„๊ฐ€ ์ž‘๋™์„ ๋ฉˆ์ถ”๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ๋ชจ๋‘ ์‚ญ์ œ๋œ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ๋‚ ๋ฆฌ๊ณ  ์‹ถ์œผ๋ฉด ์„œ๋ฒ„๋ฅผ..

Server/SpringBoot 2021.07.06

[์›น๊ฐœ๋ฐœ์˜ ๋ด„, Spring] 1์ฃผ์ฐจ ๊ฐœ๋ฐœ์ผ์ง€(3) - RestController

[์›น๊ฐœ๋ฐœ์˜ ๋ด„, Spring] 1์ฃผ์ฐจ ๊ฐœ๋ฐœ์ผ์ง€(1) - ์›น๊ณผ ์Šคํ”„๋ง ๊ธฐ๋ณธ ๊ฐœ๋… [์›น๊ฐœ๋ฐœ์˜ ๋ด„, Spring] 1์ฃผ์ฐจ ๊ฐœ๋ฐœ์ผ์ง€(2) - ์ž๋ฐ” ๊ธฐ์ดˆ ๋ฌธ๋ฒ• ๋ธŒ๋ผ์šฐ์ €์— ๋‚˜ํƒ€๋‚ด๋ณด๊ธฐ ๐Ÿ’ก RestController ์Šคํ”„๋ง ์„œ๋ฒ„๋ฅผ ๋„์›Œ์„œ ํด๋ž˜์Šค ์ •๋ณด๋ฅผ JSON์œผ๋กœ ๋ธŒ๋ผ์šฐ์ €์— ๋‚˜ํƒ€๋‚ด๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ? ๋ฐ์ดํ„ฐ๋กœ ์‘๋‹ตํ•˜๋ ค๋ฉด, RestController๊ฐ€ ํ•„์š”ํ•˜๋‹ค. Rest๋Š” ์„œ๋ฒ„์˜ ์‘๋‹ต์ด JSON ํ˜•์‹์ž„์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ฆ‰, HTML, CSS ๋“ฑ์„ ์ฃผ๊ณ ๋ฐ›์„ ๋•Œ๋Š” Rest๋ฅผ ๋ถ™์ด์ง€ ์•Š๋Š”๋‹ค. Controller๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ(Request)์„ ์ „๋‹ฌ๋ฐ›๋Š” ์ฝ”๋“œ์ด๋‹ค. ์ด๋•Œ JSON๋งŒ์„ ๋Œ๋ ค์ฃผ๋Š” ๊ฒƒ์„ RestController๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ๐Ÿ’ก RestController ๋งŒ๋“ค๊ธฐ 1. src > main > com.sparta.w..

Server/SpringBoot 2021.07.02

[์›น๊ฐœ๋ฐœ์˜ ๋ด„, Spring] 1์ฃผ์ฐจ ๊ฐœ๋ฐœ์ผ์ง€(2) - ์ž๋ฐ” ๊ธฐ์ดˆ ๋ฌธ๋ฒ•

1์ฃผ์ฐจ ๊ฐœ๋ฐœ์ผ์ง€(1): [์›น๊ฐœ๋ฐœ์˜ ๋ด„, Spring] 1์ฃผ์ฐจ ๊ฐœ๋ฐœ์ผ์ง€(1) - ์›น๊ณผ ์Šคํ”„๋ง ๊ธฐ๋ณธ ๊ฐœ๋… ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•ด๋ณธ ์  ์žˆ๋‹ค๋ฉด ์ž๋ฐ” ๊ธฐ์ดˆ ๋ฌธ๋ฒ• ํŒŒํŠธ๋Š” ์Šค๋ฌด์Šคํ•˜๊ฒŒ ๋„˜์–ด๊ฐˆ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์•„์ฃผ ๊ฐ„๋‹จํ•˜๊ฒŒ ์˜ˆ์ œ๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ์ •๋ฆฌํ•˜๊ฒ ๋‹ค. ์ž๋ฐ” ๊ธฐ์ดˆ ๋ฌธ๋ฒ• ๐Ÿ’ก ๊ธฐ์ดˆ ๋ฌธ๋ฒ• ํ™”๋ฉด์— ๋‚˜ํƒ€๋‚ด๋ณด๊ธฐ(์ถœ๋ ฅ) - System.out.println(); - ์ธํ…”๋ฆฌ์ œ์ด์—์„œ sout์ด๋ผ๊ณ  ์น˜๋ฉด ์ž๋™ ์™„์„ฑ๋จ ์ˆซ์ž - int, float, Long ๋ฌธ์ž - String ์ฐธ๊ฑฐ์ง“ - boolean ๋ฐฐ์—ด - List - ๋ฆฌ์ŠคํŠธ ์‚ฌ์šฉ ์˜ˆ์ œ // ์„ ์–ธ String course1 = "์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ๋ฐ˜"; String course2 = "์•ฑ๊ฐœ๋ฐœ ์ข…ํ•ฉ๋ฐ˜"; List courseList = new ArrayList(); // ์‚ฝ์ž… courseList...

Server/SpringBoot 2021.07.02