RESTful ์„œ๋น„์Šค ๋˜๋Š” ํ‘œํ˜„ ์ƒํƒœ ์ „์†ก ์„œ๋น„์Šค๋Š” ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๊ณ  ์ƒํƒœ ๋น„์ €์žฅ์ด๋ฉฐ ์ƒํ˜ธ ์šด์šฉ ๊ฐ€๋Šฅํ•œ ๋ฐฉ์‹์œผ๋กœ ์›น ์„œ๋น„์Šค๋ฅผ ์„ค๊ณ„, ๊ตฌํ˜„ ๋ฐ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ํ‘œ์ค€ํ™”๋œ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ •์˜ํ•˜๋Š” ์ผ๋ จ์˜ ์›น ์•„ํ‚คํ…์ฒ˜ ์›์น™ ๋ฐ ์ œ์•ฝ ์กฐ๊ฑด์ž…๋‹ˆ๋‹ค. ์ด ์šฉ์–ด๋Š” 2000๋…„ Roy Fielding์˜ ๋ฐ•์‚ฌ ๋…ผ๋ฌธ์—์„œ ์ฒ˜์Œ ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค. HTTP ํ”„๋กœํ† ์ฝœ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•๋œ ์ด๋Ÿฌํ•œ ์„œ๋น„์Šค๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ดํ•ด๋˜๋Š” ํ†ต์‹  ๋งค์ฒด๋ฅผ ํ™œ์šฉํ•˜๊ณ  HTTP ๋™์‚ฌ(GET, POST, PUT, DELETE)๋ฅผ ํ™œ์šฉํ•˜์—ฌ CRUD(Create)๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. , ์ฝ๊ธฐ, ์—…๋ฐ์ดํŠธ ๋ฐ ์‚ญ์ œ) URL๋กœ ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„๋˜๋Š” ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์ž‘์—…์ž…๋‹ˆ๋‹ค.

REST์˜ ํ•ต์‹ฌ ์›์น™ ์ค‘ ํ•˜๋‚˜๋Š” ์ƒํƒœ ๋น„์ €์žฅ(Stateless)์ด๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ํด๋ผ์ด์–ธํŠธ์—์„œ ์„œ๋ฒ„๋กœ์˜ ๊ฐ ์š”์ฒญ์—๋Š” ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ์‘๋‹ตํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ชจ๋“  ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜์–ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„๋Š” ์š”์ฒญ ์‚ฌ์ด์— ํด๋ผ์ด์–ธํŠธ์˜ ํ˜„์žฌ ์ƒํƒœ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š์•„์•ผ ์‹œ์Šคํ…œ์˜ ํ™•์žฅ์„ฑ, ์„ฑ๋Šฅ ๋ฐ ์•ˆ์ •์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

REST์˜ ๋˜ ๋‹ค๋ฅธ ๊ธฐ๋ณธ ์›์น™์€ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ๊ด€์‹ฌ์‚ฌ๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์™€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๋‹ด๋‹นํ•˜๊ณ , ์„œ๋ฒ„๋Š” ์š”์ฒญ ์ฒ˜๋ฆฌ, ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ, ์•ก์„ธ์Šค ์ œ์–ด ์‹œํ–‰์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ถ„๋ฆฌ๋ฅผ ํ†ตํ•ด ์‹œ์Šคํ…œ์˜ ํด๋ผ์ด์–ธํŠธ ๋ฐ ์„œ๋ฒ„ ๊ตฌ์„ฑ ์š”์†Œ ๋ชจ๋‘๊ฐ€ ๋…๋ฆฝ์ ์œผ๋กœ ๋ฐœ์ „ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

RESTful ์„œ๋น„์Šค๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ JSON ๋˜๋Š” XML๊ณผ ๊ฐ™์€ ํ‘œ์ค€ ๋ฏธ๋””์–ด ์œ ํ˜•์„ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œํ˜„๋˜๋Š” ๋ฆฌ์†Œ์Šค์— ์ค‘์ ์„ ๋‘๊ณ  ์„ค๊ณ„๋ฉ๋‹ˆ๋‹ค. ๋ฆฌ์†Œ์Šค ํ‘œํ˜„์€ ์ž๊ธฐ ์„ค๋ช…์ ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์‚ฌ์šฉ๋œ ๋ฏธ๋””์–ด ์œ ํ˜•์€ ๋ฆฌ์†Œ์Šค ๊ฐ„์˜ ๊ตฌ์กฐ, ์˜๋ฏธ ๋ฐ ๊ด€๊ณ„์— ๋Œ€ํ•œ ์ถฉ๋ถ„ํ•œ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ๋Š” ์‚ฌ์ „ ์ง€์‹์ด๋‚˜ ๋Œ€์—ญ ์™ธ ๋ฌธ์„œ์— ์˜์กดํ•˜์ง€ ์•Š๊ณ ๋„ RESTful ์„œ๋น„์Šค์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๊ณ  ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

RESTful ์„œ๋น„์Šค์˜ ๋˜ ๋‹ค๋ฅธ ์ค‘์š”ํ•œ ์ธก๋ฉด์€ HATEOAS(์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒํƒœ ์—”์ง„)๋กœ ํ•˜์ดํผ๋ฏธ๋””์–ด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ์›์น™์€ ์„œ๋ฒ„์˜ ์‘๋‹ต์— ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ด€๋ จ ๋ฆฌ์†Œ์Šค๋ฅผ ํƒ์ƒ‰ํ•˜๊ณ  ์ƒํ˜ธ ์ž‘์šฉํ•˜๋ฉฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋งํฌ์™€ ์ปจํŠธ๋กค๋„ ํฌํ•จํ•ด์•ผ ํ•จ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. HATEOAS๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ๋Š” ํ•˜๋“œ ์ฝ”๋”ฉ๋œ URL ๋ฐ ๋Œ€์—ญ ์™ธ ๋ฌธ์„œ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š๊ณ  RESTful ์„œ๋น„์Šค์˜ ๊ธฐ๋Šฅ๊ณผ ์–ดํฌ๋˜์Šค๋ฅผ ๋™์ ์œผ๋กœ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜ ๋ฐ ํŒจํ„ด์˜ ๋งฅ๋ฝ์—์„œ RESTful ์„œ๋น„์Šค๋Š” ๊ฐœ๋ณ„ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ๊ฐœ๋ฐœ, ๋ฐฐํฌ ๋ฐ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ์‹  ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๋ฐ ์„œ๋ฒ„๋ฆฌ์Šค ์•„ํ‚คํ…์ฒ˜์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ RESTful ์„œ๋น„์Šค๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €, ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, ๊ธฐํƒ€ ์„œ๋ฒ„ ๋“ฑ ๋‹ค์–‘ํ•œ ํด๋ผ์ด์–ธํŠธ์—์„œ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด ์ด๊ธฐ์ข… ํ™˜๊ฒฝ์—์„œ ์ƒํ˜ธ ์šด์šฉ์„ฑ์„ ์ด‰์ง„ํ•ฉ๋‹ˆ๋‹ค.

AppMaster ์˜ ๊ฐ•๋ ฅํ•œ no-code ํ”Œ๋žซํผ์„ ํ†ตํ•ด ๊ณ ๊ฐ์€ ์‹œ๊ฐ์  BP Designer๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ถ€๋กœ RESTful ์„œ๋น„์Šค๋ฅผ ์„ค๊ณ„ํ•˜๊ณ  ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์„œ๋น„์Šค๋ฅผ ํ†ตํ•ฉํ•จ์œผ๋กœ์จ ๊ณ ๊ฐ์€ ์ตœ์‹  ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋ง์˜ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ์ค€์ˆ˜ํ•˜๋Š” ํ™•์žฅ์„ฑ์ด ๋›ฐ์–ด๋‚˜๊ณ  ์ƒํƒœ ๋น„์ €์žฅ์ด๋ฉฐ ์ƒํ˜ธ ์šด์šฉ ๊ฐ€๋Šฅํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ AppMaster ํ”Œ๋žซํผ์€ ์ด๋Ÿฌํ•œ ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ ์†Œ์Šค ์ฝ”๋“œ์™€ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜์—ฌ ๊ฒฐ๊ณผ RESTful ์„œ๋น„์Šค๊ฐ€ ํšจ์œจ์ ์ด๊ณ  ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚˜๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

์š”์•ฝํ•˜๋ฉด, RESTful ์„œ๋น„์Šค๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ๋ฌธ์ œ ๋ถ„๋ฆฌ๋ฅผ ์ด‰์ง„ํ•˜๊ณ  ์ž์ฒด ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ธฐ๋Šฅ์˜ ๋™์  ๊ฒ€์ƒ‰์„ ์ด‰์ง„ํ•˜๋Š” ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๊ณ  ์ƒํƒœ ๋น„์ €์žฅ์ด๋ฉฐ ์ƒํ˜ธ ์šด์šฉ ๊ฐ€๋Šฅํ•œ ์›น ์„œ๋น„์Šค๋ฅผ ์„ค๊ณ„ํ•˜๊ณ  ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ๋„๋ฆฌ ์ฑ„ํƒ๋˜๊ณ  ๋„๋ฆฌ ์ฑ„ํƒ๋˜๋Š” ์›์น™ ์„ธํŠธ์ž…๋‹ˆ๋‹ค. ์„œ์ˆ ์  ํ‘œํ˜„๊ณผ ํ•˜์ดํผ๋ฏธ๋””์–ด. ์ด๋Ÿฌํ•œ ์›์น™์„ ๋”ฐ๋ฅด๋ฉด ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„์ž์™€ ๊ฐœ๋ฐœ์ž๋Š” ์ตœ์‹  ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๋ฐ ์„œ๋ฒ„๋ฆฌ์Šค ์•„ํ‚คํ…์ฒ˜์— ์ ํ•ฉํ•œ ๊ณ ์„ฑ๋Šฅ ๋ฐ ์œ ์ง€ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. AppMaster ์˜ no-code ํ”Œ๋žซํผ์€ ๊ณ ๊ฐ์ด ์ด ์•„ํ‚คํ…์ฒ˜ ์Šคํƒ€์ผ์˜ ๊ฐ•๋ ฅํ•จ๊ณผ ๋‹จ์ˆœ์„ฑ์„ ํ™œ์šฉํ•˜์—ฌ ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ถ€๋กœ RESTful ์„œ๋น„์Šค๋ฅผ ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์œผ๋กœ ์ƒ์„ฑ ๋ฐ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.