REST API๋ž€?

์ฃผ๋”ฉยท2025๋…„ 2์›” 26์ผ
0

CS ๊ณต๋ถ€

๋ชฉ๋ก ๋ณด๊ธฐ
2/5

๐Ÿค“
ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ REST API๋ผ๋Š” ๋‹จ์–ด๋ฅผ ๊ณ„์† ๋“ฃ๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ ๋Œ€์ถฉ์€ ๊ทธ ์˜๋ฏธ๋ฅผ ์•Œ๊ฒ ์ง€๋งŒ ์ข€ ๋” ์ž์„ธํžˆ ์•Œ๊ณ  ์‹ถ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์–ด์„œ ์ •๋ฆฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

API

API(Application Programming Interface) : ์„œ๋กœ ๋‹ค๋ฅธ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์ด ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ทœ์น™๊ณผ ๋„๊ตฌ์˜ ์ง‘ํ•ฉ.

  • ์†Œํ”„ํŠธ์›จ์–ด ๊ฐ„์˜ "๊ณ„์•ฝ" -> ์–ด๋–ป๊ฒŒ ์ƒํ˜ธ์ž‘์šฉํ•  ์ง€ ์ •์˜ํ•จ
  • ์ค‘๊ฐœ์ž ์—ญํ•  -> ํ•œ ํ”„๋กœ๊ทธ๋žจ์ด ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์˜ ๊ธฐ๋Šฅ์ด๋‚˜ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•จ
  • ์ถ”์ƒํ™” ๊ณ„์ธต์„ ์ œ๊ณต -> ๋ณต์žกํ•œ ๋‚ด๋ถ€ ๊ตฌํ˜„์„ ์ˆจ๊ธฐ๊ณ  ๊ฐ„๋‹จํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋งŒ ๋…ธ์ถœํ•จ

REST API(RESTful API)

  • ์›น ์„œ๋น„์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ์•„ํ‚คํ…์ฒ˜ ์Šคํƒ€์ผ
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ†ตํ•ฉ, ์•„ํ‚คํ…์ฒ˜์˜ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ• ์ œ๊ณต
  • JSON์ด๋‚˜ XML๊ณผ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์Œ
  • ์›น, ๋ชจ๋ฐ”์ผ ์•ฑ, IoT ์žฅ์น˜ ๋“ฑ ๋‹ค์–‘ํ•œ ๊ณณ์—์„œ ํ™œ์šฉ๋จ

REST ์„ค๊ณ„ ์›์น™

๊ท ์ผํ•œ ์ธํ„ฐํŽ˜์ด์Šค

  • ๊ฐ™์€ ๋ฆฌ์†Œ์Šค๋Š” ํ•ญ์ƒ ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ
  • ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๋Š” ํ•˜๋‚˜์˜ URI(์ฃผ์†Œ)์—๋งŒ ์กด์žฌํ•ด์•ผ ํ•จ
  • ๋ฆฌ์†Œ์Šค๋Š” ์ ์ ˆํ•œ ํฌ๊ธฐ๋กœ ์„ค๊ณ„๋˜์–ด ํ•„์š”ํ•œ ๋ชจ๋“  ์ •๋ณด๋ฅผ ํฌํ•จํ•ด์•ผ ํ•จ
  • ์˜ˆ์‹œ) ์‚ฌ์šฉ์ž ์ •๋ณด๋Š” ํ•ญ์ƒ /users/{id}๋กœ ์ ‘๊ทผ, ์–ด๋””์„œ ์š”์ฒญํ•˜๋“  ๋™์ผํ•œ ํ˜•์‹์œผ๋กœ ์‘๋‹ต

ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ๋ถ„๋ฆฌ

  • ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ์กด์žฌํ•˜๊ณ  ๋ฐœ์ „ํ•จ
  • ํด๋ผ์ด์–ธํŠธ๋Š” ๋ฆฌ์†Œ์Šค์˜ URI๋งŒ ์•Œ๋ฉด ๋จ
  • ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์— ๋ฐ์ดํ„ฐ๋งŒ ์ „๋‹ฌํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ๋ฅผ ์ˆ˜์ •ํ•˜์ง€ ์•Š์Œ
  • ์˜ˆ์‹œ) ์›น ๋ธŒ๋ผ์šฐ์ €(ํด๋ผ์ด์–ธํŠธ)์™€ ์›น ์„œ๋ฒ„๋Š” ์„œ๋กœ์˜ ๋‚ด๋ถ€ ๊ตฌ์กฐ๋ฅผ ๋ชฐ๋ผ๋„ ํ†ต์‹  ๊ฐ€๋Šฅ

๋ฌด์ƒํƒœ

  • ๊ฐ ์š”์ฒญ์€ ๋…๋ฆฝ์ ์ด๋ฉฐ ์ด์ „ ์š”์ฒญ๊ณผ ๋ฌด๊ด€ํ•จ
  • ๋ชจ๋“  ์š”์ฒญ์—๋Š” ์ฒ˜๋ฆฌ์— ํ•„์š”ํ•œ ๋ชจ๋“  ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜์–ด์•ผ ํ•จ
  • ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š์Œ
  • ์˜ˆ์‹œ) ๋งค๋ฒˆ ATM ๊ธฐ๊ณ„๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋งˆ๋‹ค ์นด๋“œ์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ƒˆ๋กœ ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Œ

์บ์‹œ ๊ฐ€๋Šฅ์„ฑ

  • ์‘๋‹ต์€ ์บ์‹œ ๊ฐ€๋Šฅ ์—ฌ๋ถ€๋ฅผ ๋ช…์‹œํ•ด์•ผ ํ•จ
  • ์ ์ ˆํ•œ ์บ์‹ฑ์œผ๋กœ ์„ฑ๋Šฅ ํ–ฅ์ƒ ๋ฐ ์„œ๋ฒ„ ๋ถ€ํ•˜ ๊ฐ์†Œ
  • ์˜ˆ์‹œ) ์ž์ฃผ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ(์˜ˆ: ์ œํ’ˆ ์ด๋ฏธ์ง€)๋Š” ํ•œ๋ฒˆ ๋‹ค์šด๋กœ๋“œ ํ›„ ์žฌ์‚ฌ์šฉ

๊ณ„์ธตํ™”๋œ ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜

  • ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ์‚ฌ์ด์— ์—ฌ๋Ÿฌ ์ค‘๊ฐ„ ๊ณ„์ธต์ด ์กด์žฌํ•  ์ˆ˜ ์žˆ์Œ
  • ํด๋ผ์ด์–ธํŠธ๋Š” ์ตœ์ข… ์„œ๋ฒ„์™€ ์ง์ ‘ ํ†ต์‹ ํ•˜๋Š”์ง€ ์ค‘๊ฐ„ ๊ณ„์ธต๊ณผ ํ†ต์‹ ํ•˜๋Š”์ง€ ์•Œ ์ˆ˜ ์—†์Œ
  • ์˜ˆ์‹œ) ์ธํ„ฐ๋„ท ํ†ต์‹ ์—์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ์—ฌ๋Ÿฌ ๋ผ์šฐํ„ฐ๋ฅผ ๊ฑฐ์ณ ์ „๋‹ฌ๋˜์ง€๋งŒ ์‚ฌ์šฉ์ž๋Š” ์•Œ ํ•„์š” ์—†์Œ

REST API ์ž‘๋™๋ฐฉ์‹


GET : ๋ฐ์ดํ„ฐ ์กฐํšŒ
POST : ์ƒˆ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ
PUT / PATCH : ๋ฐ์ดํ„ฐ ์ˆ˜์ •
DELETE : ๋ฐ์ดํ„ฐ ์‚ญ์ œ

profile
๋ชจ๋“  ๊ฒƒ์€ ์ต์ˆ™ํ•ด์ง€๊ธฐ ์ „๊นŒ์ง€ ์–ด๋ ต๋‹ค!

0๊ฐœ์˜ ๋Œ“๊ธ€