๐Ÿ’โ€โ™‚๏ธย : ์ฟผ๋ฆฌ๋ƒ ํŒŒ๋žŒ์Šค๋ƒฃ

RESTful API ์ ์šฉ๊ณผ API ๋ช…์„ธ์„œ ์ž‘์„ฑ ํšŒ๊ณ 

RESTful API ๊ตฌํ˜„

์ฒ˜์Œ์—๋Š” API๋ฅผ ์–ด๋–ป๊ฒŒ ์„ค๊ณ„ํ•˜๊ณ  ๊ตฌํ˜„ํ• ์ง€์— ๋Œ€ํ•œ ๋ช…ํ™•ํ•œ ๋ฐฉํ–ฅ์ด ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค. RESTful ์•„ํ‚คํ…์ฒ˜๋ฅผ ๋”ฐ๋ฅด๊ธฐ๋กœ ๊ฒฐ์ •ํ•˜๊ณ  HTTP ๋ฉ”์„œ๋“œ(GET, POST, PUT, DELETE)๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ํ™œ์šฉํ•˜๊ณ ์ž ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ URI(Uniform Resource Identifier)๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์ •์˜ํ•˜๊ณ , ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜์—ฌ API์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค

API ๋ช…์„ธ์„œ ์ž‘์„ฑ

API ๋ช…์„ธ์„œ ์ž‘์„ฑ์€ ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๋‚˜ ํด๋ผ์ด์–ธํŠธ ํŒ€๊ณผ์˜ ์›ํ™œํ•œ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์„ ์œ„ํ•ด ํ•ต์‹ฌ์ ์ธ ๋‹จ๊ณ„์˜€์Šต๋‹ˆ๋‹ค. Swagger ๋˜๋Š” OpenAPI Specification๊ณผ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ API ๋ฌธ์„œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ, notion์— API ๋ช…์„ธ์„œ๋ฅผ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊ฐ ์—”๋“œํฌ์ธํŠธ์˜ ์„ค๋ช…, ์š”์ฒญ ๋ฐ ์‘๋‹ต ์˜ˆ์ œ, ์ธ์ฆ ๋ฐฉ๋ฒ• ๋ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ๋“ฑ์„ ํฌํ•จํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ตํ›ˆ

API๋ฅผ ์„ค๊ณ„ํ•  ๋•Œ ๋ฆฌ์†Œ์Šค ์ค‘์‹ฌ์œผ๋กœ ์ ‘๊ทผํ•˜๊ณ ์ž ๋…ธ๋ ฅํ–ˆ์œผ๋‚˜, ์ฒ˜์Œ์— ์–ด๋–ค ๊ฒƒ์„ ๋ฆฌ์†Œ์Šค๋กœ ์ •์˜ํ•ด์•ผ ํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๋Š” ๋ฐ ์–ด๋ ค์›€์„ ๊ฒช์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์ „์†กํ•ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ํ˜ผ๋ž€๋„ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋ฆฌ์†Œ์Šค ์‹๋ณ„์˜ ์–ด๋ ค์›€

์ฒ˜์Œ์—๋Š” ์–ด๋–ค ๊ฒƒ์„ ๋ฆฌ์†Œ์Šค๋กœ ํ‘œํ˜„ํ•ด์•ผ ํ•˜๋Š”์ง€ ๋ช…ํ™•ํžˆ ์ดํ•ดํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์‚ฌ์šฉ์ž, ์ œํ’ˆ, ์ฃผ๋ฌธ๊ณผ ๊ฐ™์€ ๊ฐœ๋…์€ ๋ฆฌ์†Œ์Šค๋กœ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋– ์˜ฌ๋ž์ง€๋งŒ, ๊ธฐํƒ€ ๊ฐœ๋…์€ ์–ด๋–ค ์‹์œผ๋กœ ์ •์˜ํ•ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ๊ณ ๋ฏผ์ด ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค.

ํŒŒ๋ผ๋ฏธํ„ฐ ์ „์†ก ๋ฐฉ์‹ ํ˜ผ๋ž€

API๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์ „์†กํ•ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ํ˜ผ๋ž€๋„ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ฒฝ๋กœ(path)์— ํฌํ•จํ• ์ง€, ์ฟผ๋ฆฌ(query) ๋ฌธ์ž์—ด๋กœ ์ „์†กํ• ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์ด ์‰ฝ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๊ทน๋ณต๊ณผ ๋ฐฐ์šด ์ 

์œ„ ์–ด๋ ค์›€์„ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด RESTful ์„ค๊ณ„ ์›์น™๊ณผ ๋ฆฌ์†Œ์Šค ์‹๋ณ„์— ๋Œ€ํ•œ ์ถ”๊ฐ€์ ์ธ ํ•™์Šต์„ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋…ธ๋ ฅ์„ ํ†ตํ•ด API ์—”๋“œํฌ์ธํŠธ๊ฐ€ ๊ฐ ๋ฆฌ์†Œ์Šค์™€ ์—ฐ๊ฒฐ๋˜๋„๋ก ์„ค๊ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์Šต๋“ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ๊ฒฝํ—˜์„ ํ†ตํ•ด ์–ด๋–ค ๊ฒฝ์šฐ์— ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ฒฝ๋กœ์—, ์–ด๋–ค ๊ฒฝ์šฐ์—๋Š” ์ฟผ๋ฆฌ ๋ฌธ์ž์—ด๋กœ ์ „์†กํ•ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ๊ธฐ์ค€์„ ํ™•๋ฆฝํ–ˆ์Šต๋‹ˆ๋‹ค.