API ๊ฐœ๋… ์ •๋ฆฌ ๐Ÿ™Œ

์กฐ ์€๊ธธยท2021๋…„ 12์›” 5์ผ
3
post-thumbnail

์˜ค๋Š˜ TIL์€ ๋“œ๋ฆผ ์ฝ”๋”ฉ ์—˜๋ฆฌ๋‹˜์˜ ๊ฐ•์˜์™€ ์ฝ”๋“œ์Šคํ…Œ์ด์ธ ์—์„œ ํ•™์Šตํ•œ ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘์„ฑ๋๋‹ค. ๋˜ํ•œ, ๊ทธ ์–ด๋– ํ•œ ์ƒ์—…์ ์ธ ์šฉ๋„๋„ ์—†์Œ์„ ๋ฐํžŒ๋‹ค.

API๋ž€?

API์˜ ์ •์˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

๊ทธ๋Ÿฐ๋ฐ, ์ •์˜๊ฐ€ ์ƒ๋‹นํžˆ ์ถ”์ƒ์ ์ด๋‹ค. ๋ฐฉ๋ฒ•์ด ๋ญ”๋ฐ??

์ด๊ฒƒ์„ ์‰ฝ๊ฒŒ ๋น„์œ ํ•˜์ž๋ฉด, API๋ผ๋Š” ๊ฑด "์‹๋‹น ๋ฉ”๋‰ดํŒ"์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

๊ณ ๊ฐ๋“ค์ด ์‹๋‹น์—์„œ ์ฃผ๋ฌธ์„ ์–ด๋–ป๊ฒŒ ํ•˜๋‚˜??

๋ฉ”๋‰ดํŒ ๋ณด๊ณ  ๊ฑฐ๊ธฐ์— ์ ํžŒ ๋ฉ”๋‰ด๋“ค์„ ์ •ํ™•ํžˆ ์ฃผ๋ฌธํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, "์‹๋‹น์˜ ๋ฉ”๋‰ดํŒ"์ด ๊ณง API์ด๋‹ค.
=> ์‹๋‹น ์ฃผ์ธ๊ณผ ์Œ์‹์„ ์ฃผ๊ณ  ๋ฐ›๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.


์›น์„œ๋น„์Šค์—์„œ API

์‹ค์ œ ์›น์„œ๋น„์Šค๋ฅผ ์˜ˆ๋กœ ๋“ค์–ด์„œ, ๊ฑฐ๊ธฐ์„œ API๋ผ๋Š” ์šฉ์–ด๋ฅผ ์„ค๋ช…ํ•ด๋ณด๋„๋ก ํ•˜์ž!!

ํ•„์ž๊ฐ€ ์ฝ”๋“œ๋ฅผ ๋ง‰~~ ์งœ๊ฐ€์ง€๊ณ , Web์—๋‹ค๊ฐ€ ์›นํˆฐ์„ ๋ณด๋‚ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค์—ˆ๋‹ค๊ณ  ์น˜์ž!!
=> ์ด๊ฒŒ ๋‹ค๋ฅธ ๋ง๋กœ "์›นํˆฐ ์„œ๋น„์Šค"์ด๋‹ค. ์ฆ‰, ์›นํˆฐ์„ ๊ฐ€์ ธ๋‹ค์ฃผ๋Š” ์›น์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค๊ฑฐ๋‹ค.

๊ทผ๋ฐ, ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ์ž์—๊ฒŒ ์›นํˆฐ์„ ๋ณด์—ฌ์ค„ ์ˆ˜์žˆ๋‚˜??

์‚ฌ์šฉ์ž๊ฐ€ ์ปค์Šคํ…€ ์ฃผ๋ฌธ ๊ฐ™์€ ๊ฑฐ ํ•  ์ˆ˜์žˆ๋‚˜์š”?? "์‹œ๋ฆฌ์•ผ, ๋‚˜ ๋“œ๋ž˜๊ณค๋ณผ ๋ณด๊ณ  ์‹ถ์–ด~~" ์•„๋‹ˆ์ž–์•„์š”!!

๋‚ด๊ฐ€ ๋จผ์ € ๋ฉ”๋‰ดํŒ ๊ฐ™์€ ๊ฑธ ๋งŒ๋“ค์–ด์ค˜์•ผ ํ•œ๋‹ค.

๋‚˜๋Š” a์›นํˆฐ, b์›นํˆฐ์„ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋ฉ”๋‰ดํŒ์„ ๋งŒ๋“ค์–ด์ค˜์•ผ ํ•œ๋‹ค. ๊ทธ๋ž˜์•ผ, ์„œ๋น„์Šค๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

๊ทธ๋ž˜์„œ, ์‹ค์ œ "์›น ์„œ๋น„์Šค"๋‚˜ " ์•ฑ ์„œ๋น„์Šค "์—์„œ ์“ฐ๋Š” API๋ผ๋Š” ์šฉ์–ด๋Š” ๊ทธ๋ƒฅ " ์‚ฌ์šฉ์ž๊ฐ€ ์„œ๋ฒ„๋ž‘ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ์ •ํ™•ํ•œ ๋ฐฉ๋ฒ• "์ด๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.
=> ์„œ๋น„์Šค๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด ๋†“์€ ๋ฉ”๋‰ดํŒ์ด๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

๊ทผ๋ฐ, ์•„์ง๋„ ๋ฐฉ๋ฒ•์ด๋ผ๋Š” ์šฉ์–ด๊ฐ€ ์ข€ ์ถ”์ƒ์ ์ด๋‹ค...

๊ทธ๋ž˜์„œ ๋ฐฉ๋ฒ•์ด ๋ญ”๋ฐ?? ๋ฉ”๋‰ดํŒ์ด๋ผ๋Š” ๊ฒŒ ์–ด๋–ป๊ฒŒ ์ƒ๊ฒผ๋Š”๋ฐ??

์ถ”์ƒ์ ์œผ๋กœ ์„ค๋ช…ํ•œ ๊ทธ "๋ฐฉ๋ฒ•"์ด๋ผ๋Š” ๊ฑด, ๋ฐ”๋กœ "์ฝ”๋“œ"๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค.

API๋ฅผ ๋งŒ๋“ค๊ณ  ๋™์ž‘์‹œํ‚ค๋Š” ๊ฑฐ, ์ „๋ถ€๋‹ค ์ฝ”๋“œ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

๊ทธ๋Ÿผ, ์ด์ œ ์ฝ”๋“œ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ƒ๊ฒผ๋Š”์ง€ ๋ด์•ผ ์ดํ•ด๊ฐ€ ๋  ๊ฒƒ๊ฐ™์•„์„œ ์˜ˆ์‹œ ์ฝ”๋“œ๋ฅผ ๋ณด์ž!!


์‹ค์ œ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ๋ณด๋Š” ์›น์„œ๋น„์Šค์˜ API

DB์—์„œ ์›นํˆฐ ์ด๋ฏธ์ง€๋ฅผ ๋ฝ‘๋Š” ์ฝ”๋“œ์ด๋‹ค.

์ด ์ฝ”๋“œ๋ฅผ ๋™์ž‘์‹œํ‚ค๋ฉด, DB์—์„œ ์›นํˆฐ์„ ๋ฝ‘์•„์„œ ๊ฐ–๋‹ค์ค€๋‹ค.

๊ทผ๋ฐ, ์‚ฌ์šฉ์ž๊ฐ€ ์ด ์ฝ”๋“œ๋ฅผ ์–ด๋–ป๊ฒŒ ๋™์ž‘์‹œํ‚ฌ ๊ฒƒ์ธ๊ฐ€?? ํ•ดํ‚น์„ ํ•ด์„œ, ๊ฐœ๋ฐœ์ž ์ปดํ“จํ„ฐ์— ์นจ์ž…์„ ํ•˜์ง€ ์•Š๋Š” ์ด์ƒ, ์ด ์ฝ”๋“œ๋ฅผ ๋™์ž‘์‹œํ‚ค์ง€ ๋ชปํ•œ๋‹ค.

๊ทธ๋ž˜์„œ, "์‹๋‹น ์ฃผ์ธ"์ธ ํ•„์ž๊ฐ€ API๋ผ๋Š” ์ฝ”๋“œ๋ฅผ ์งœ๋‘ฌ์•ผ ํ•œ๋‹ค.

Node.js์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ง ๋‹ค.

๊ฐ„๋‹จํ•˜๊ฒŒ, ๋œป์„ ํ’€์–ด๋ณด์ž๋ฉด, " /detail/:id๋กœ get์š”์ฒญ์„ ํ•˜๋ฉด, ์•ˆ์— ์žˆ๋Š” ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ด์ฃผ์„ธ์š”~ " ๋ผ๋Š” ๋œป์ด๋‹ค.

๋ฐ”๋กœ " ์ด ์ฝ”๋“œ "๊ฐ€ API๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

์–ด๋–ค ์œ ์ €๊ฐ€ ์ด URL๋กœ get์š”์ฒญ์„ ํ•˜๋ฉด, ์ด ์›นํˆฐ์„ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ๊ฐœ๋ฐœ์ž๊ฐ€ ์งœ๋‘๋Š” ๊ฑฐ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์œ ์ €ํ•œํ…Œ ์ด๊ฑฐ๋ฅผ ์•Œ๋ ค์ฃผ๋ฉด ๋˜๊ฒ ์ฃ !!

๋ฉ”๋‰ดํŒ์ฒ˜๋Ÿผ ์–ด๋”˜๊ฐ€์— ๋ณด์—ฌ์ฃผ๋ฉด ๋œ๋‹ค.

์‹ค์ œ ๋„ค์ด๋ฒ„ ์›นํˆฐ์„ ๋ณด๋ ค๋ฉด??

์‹ค์ œ๋กœ๋„ ๋„ค์ด๋ฒ„ ์›นํˆฐ์„ ๋ณด๋ ค๋ฉด, ์ด๋ ‡๊ฒŒ get ์š”์ฒญ์„ ํ•ด์•ผํ•œ๋‹ค.

์ด๊ฑฐ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•˜๋ƒ๊ตฌ์š”??

์ข€ ์ด๋”ฐ ์•Œ์•„๋ณด์ž!!


API๊ฐ€ ๊ฐ€์ ธ์•ผํ•  ๋‚ด์šฉ

API๋ฅผ ์ž‘์„ฑํ•˜๋ ค๋ฉด, ์ž‘์„ฑํ•˜๋Š” ๋ฒ•์ด ์ •ํ•ด์ ธ์žˆ๋‹ค.

  • ์ •๋ณด๋ฅผ ๋ณด๋‚ด์ค„ ๊ฑด์ง€, ์ €์žฅํ•  ๊ฑด์ง€ ๋“ฑ๋“ฑ
  • ์–ด๋–ค ์ž๋ฃŒ๋ฅผ ์š”์ฒญํ•  ๊ฑด์ง€... ์ด๊ฑฐ๋ฅผ endpoint๋ผ๊ณ  ํ•œ๋‹ค. URL ํ˜•์‹์œผ๋กœ ๋งŽ์ด ์ €์žฅํ•œ๋‹ค.
  • ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. ์œ ์ €๊ฐ€ ์›นํˆฐ ๋ณผ ๋•Œ, ๋ถ€๊ฐ€์ ์œผ๋กœ ์‹ค์–ด๋ณด๋‚ผ ์ •๋ณด ๊ฐ™์€ ๊ฑฐ ์žˆ๋Š”์ง€๋ฅผ ์ฒจ๋ถ€ํ•  ์ˆ˜์žˆ๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  ์›นAPI๋ผ๋Š” ๊ฑธ ๊ฐœ๋ฐœ ํ•  ๋•Œ๋Š” REST API๋ผ๋Š” ์›์น™์ด ์žˆ๋Š”๋ฐ, ์ดํ•ด๊ฐ€ ์‰ฝ๊ณ  ๊ด€๋ฆฌ๊ฐ€ ์‰ฌ์šด API๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•๋ก ์ด๋‹ค.

๊ทธ๋ž˜์„œ, API๋ฅผ ์ด๋ ‡๊ฒŒ ๋งŒ๋“ ๋‹ค๊ณ  ์•Œ์•„๋ดค๋Š”๋ฐ, ์œ ์ € ์ž…์žฅ ํ•œ ๋ฒˆ ์ƒ๊ฐํ•ด๋ณด์ž!!


์œ ์ € ์ž…์žฅ์—์„œ ๋ณด๋Š” API

์œ ์ €๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฒฝ๋กœ๋กœ get ์š”์ฒญ์„ ํ•˜๋ฉด, ์›นํˆฐ์„ ๋ณด์—ฌ์ค€๋‹ค๋ฉด์„œ์š”??

๊ทผ๋ฐ, ์œ ์ €๋„ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์•ผํ•œ๋‹ค. ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์•ผ ๋ฐ์ดํ„ฐ๋ฅผ ๊บผ๋‚ด์˜ฌ ์ˆ˜๊ฐ€ ์žˆ๋‹ค. ๋ชจ๋“  ๊ฑด ๋‹ค ์ฝ”๋“œ๋ฅผ ์งœ์„œ ํ†ต์‹ ์„ ํ•˜๊ฒŒ ๋˜์žˆ๋‹ค. ์ฆ‰, ์œ ์ €๋Š” ์ฝ”๋“œ๋ฅผ ์งœ์„œ ์›ํ•˜๋Š” API๋กœ ์ฃผ๋ฌธ์„ ํ•ด์•ผํ•œ๋‹ค.

์ฝ”๋“œ๋ฅผ ๋ชป ์งœ๊ฒ ๋‹ค๊ณ ์š”?? ์‚ฌ์‹ค, ์—ฌ๋Ÿฌ๋ถ„์€ ํ‰์†Œ์— ๋งจ๋‚  ์ฝ”๋“œ๋ฅผ ์งœ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์‹ค์€ API๋ฅผ ์š”์ฒญํ•  ์ˆ˜์žˆ๋Š” ๊ฐ€์žฅ ์‰ฌ์šด ๋„๊ตฌ๋ฅผ ํ•˜๋‚˜ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

๋ฐ”๋กœ " ๋ธŒ๋ผ์šฐ์ € "๋ผ๋Š” ๊ฑฐ๋‹ค.

๋ธŒ๋ผ์šฐ์ €๋ฅผ ์—ด๋ฉด,

์ด ๊ณต๊ฐ„์ด API๋ฅผ ์š”์ฒญํ•˜๋Š” ๊ณต๊ฐ„์ด๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

์—ฌ๊ธฐ๋‹ค๊ฐ€ endpoint๋ฅผ ์ž‘์„ฑํ•˜๋ฉด, ์‚ฌ์šฉ์ž๊ฐ€ get ์š”์ฒญ์„ ๋‚ ๋ฆด ์ˆ˜๊ฐ€ ์žˆ๋‹ค.

์ฆ‰, ์ฃผ์†Œ์ฐฝ์ด API ์š”์ฒญ์„ ํ•  ์ˆ˜์žˆ๋Š” ๊ณต๊ฐ„์ด๋‹ค.

ํ•˜์ง€๋งŒ, ์‹ค์ œ๋กœ ์‚ฌ์šฉ์ž๊ฐ€ ์ฃผ์†Œ์ฐฝ์— ์ฝ”๋“œ๋ฅผ ์ ์ง€๋Š” ์•Š๋Š”๋‹ค. ์™œ๋ƒ๋ฉด, HTML ํŒŒ์ผ ์•ˆ์—๋‹ค๊ฐ€ API ์š”์ฒญ๋“ค์„ ์‰ฝ๊ฒŒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ„ํŠผ๋“ค์ด ์ˆจ๊ฒจ์ ธ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด, " ์ด๋ฆฌ๋กœ~ get ์š”์ฒญ์„ ํ•ด์ฃผ์„ธ์š”~~ " ํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ์ˆจ๊ฒจ์ ธ์žˆ๋‹ค.

๊ทธ๋ž˜์„œ, ํ‰์†Œ์—๋Š” ๋ณ„๋กœ ์ฝ”๋“œ ์งค ์ผ์ด ์—†์Šต๋‹ˆ๋‹ค.


Open API, Public API

ํšŒ์‚ฌ ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉํ•˜๋Š” API๋ฅผ ์™ธ๋ถ€์˜ ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ด์šฉํ•  ์ˆ˜์žˆ๋„๋ก, ๊ณต๊ฐ์ ์œผ๋กœ ์˜คํ”ˆํ•œ ๊ฒƒ์„ Open API๋ผ๊ณ  ํ•œ๋‹ค.

์ด๋Ÿฐ ์˜คํ”ˆ๋œ API๋ฅผ ํ†ตํ•ด์„œ, ๋งŽ์€ ๊ฐœ๋ฐœ์ž๋“ค์ด ๋…์ฐฝ์ ์ด๊ณ  ์žฌ๋ฐŒ๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ณ , ๊ถ๊ทน์ ์œผ๋กœ ํšŒ์‚ฌ ์„œ๋น„์Šค ์ปค๋ฎค๋‹ˆํ‹ฐ์— ๋งŽ์€ ๊ธฐ์—ฌ๋ฅผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋งŽ์€ ํšŒ์‚ฌ์—์„œ ์ด๋Ÿฐ ์˜คํ”ˆ API๋ฅผ ๋งŒ๋“ค์–ด ๋‘ก๋‹ˆ๋‹ค.

Open API list


๋ชจ๋“  API๊ฐ€ public์€ ์•„๋‹ˆ๋‹ค

API๊ฐ€ ํ•ญ์ƒ publicํ•  ํ•„์š”๋Š” ์—†๋‹ค.

private API๋ฅผ ๋งŒ๋“ค์–ด์„œ, ์‚ฌ๋‚ด ํ”„๋กœ๊ทธ๋žจ๋“ค๋ผ๋ฆฌ ํ†ต์‹ ์ด ํ•„์š”ํ•  ๋•Œ, ์“ธ ์ˆ˜๋„ ์žˆ๋‹ค.

์•„๋‹ˆ๋ฉด, ๋‚ด๊ฐ€ ๋ฏธ๋ฆฌ ์ •ํ•œ ์‚ฌ๋žŒ๋“ค๋ผ๋ฆฌ๋งŒ ์“ธ ์ˆ˜์žˆ๊ฒŒ ํ•˜๋Š” partner API๋„ ๋งŒ๋“ค ์ˆ˜๊ฐ€ ์žˆ๋‹ค.


Web ๋ง๊ณ  ๋‹ค๋ฅธ ๊ณณ์—๋„ API๋Š” ์กด์žฌํ•œ๋‹ค

๋‹น์—ฐํ•œ ๋ง์ด์ง€๋งŒ, Web ๋ง๊ณ  ๋‹ค๋ฅธ ๊ณณ์—์„œ๋„ API๋Š” ์กด์žฌํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด์„œ, ์šด์˜์ฒด์ œ์ธ Window๋„ ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ๊ทธ๋ž˜์„œ, Window API๋ผ๋Š” ๊ฑธ ์ œ๊ณตํ•œ๋‹ค. ๊ทธ๊ฑฐ๋ฅผ ๊ฐ–๋‹ค์“ฐ๋ฉด, Window OS๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ธฐ๋Šฅ๋“ค์„ ๊ฐ–๋‹ค ์“ธ ์ˆ˜์žˆ๋‹ค.

ex) ์•Œ๋ฆผ, ํŒŒ์ผ ์„ค์น˜/์‚ญ์ œ ๋“ฑ๋“ฑ

ํ˜น์€, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋‚ด๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฝ‘๊ณ  ์‹ถ๋‹ค๋ฉด??

๊ทธ๋Ÿฌ๋ฉด, DB ๊ด€๋ฆฌ ํ”„๋กœ๊ทธ๋žจ๋“ค์ด ์žˆ๊ฒ ์ฃ ?? ๊ฑฐ๊ธฐ๊ฐ€ ์ œ๊ณตํ•˜๋Š” API๋ฅผ ๊ฐ–๋‹ค์“ฐ๋ฉด, DB๋ž‘ ์‰ฝ๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜์žˆ๋‹ค.

ํ”„๋กœ๊ทธ๋žจ์ด ์กด์žฌํ•˜๋ฉด, ๋ฐ˜๋“œ์‹œ ๊ทธ API๋„ ์กด์žฌํ•œ๋‹ค.
์™œ๋ƒ๋ฉด, ๊ทธ ํ”„๋กœ๊ทธ๋žจ์„ ๋™์ž‘์‹œํ‚ค๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์ด ๋–„๋ฌธ์ด๋‹ค. ๋ฉ”๋‰ดํŒ์ž„!!


API๋กœ ๋งŒ๋“œ๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๋ชจ๋ธ

API๋Š” ํ•ญ์ƒ ๋ฌด๋ฃŒ์ผ ์ด์œ ๋„ ์—†๋‹ค.

์•„์ฃผ ์œ ์šฉํ•œ API๋ฅผ ๋ณธ์ธ์ด ๋งŒ๋“ค์—ˆ๋‹ค๋ฉด, ํŒ๋งคํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

API๋ฅผ ํŒ๋งคํ•˜๋Š” ํ”Œ๋ ›ํผ

์š”์ฆ˜ ๋„ค์ด๋ฒ„๊ฐ€ ๋ฐ€๊ณ  ์žˆ๋Š” Cloud Platform ์ด๋ผ๋Š” ๊ฒŒ ์žˆ๋‹ค.

Papago ๋ฒˆ์—ญ ์„œ๋น„์Šค๋ฅผ ์จ๋ณธ ์ ์ด ์žˆ์„ ๊ฑฐ๋‹ค. => ๋ฒˆ์—ญ ์ž˜ ํ•ด์ค€๋‹ค.

๊ทผ๋ฐ, ์‹ค์€ Papago ๋ฒˆ์—ญ ์„œ๋น„์Šค๋Š” ์ผ์ • ๊ธ€์ž ์ˆ˜๊นŒ์ง€๋งŒ ๋ฌด๋ฃŒ์ด๋‹ค. ๊ทธ ์ˆ˜๋ฅผ ๋„˜์–ด๊ฐ€๋ฉด, ๊ณผ๊ธˆ์ด ๋œ๋‹ค.

๊ทธ๋Ÿฐ ์‹์œผ๋กœ Papago API๋ผ๋Š” ๊ฑธ ๊ณต๊ฐœํ•ด์„œ, ๋ฒˆ์—ญ ์„œ๋น„์Šค๋ฅผ API ํ˜•์‹์œผ๋กœ ํŒ”๊ธฐ๋„ ํ•œ๋‹ค.

๋ญ ์ด๋Ÿฐ ๊ฒƒ๋„ ์žˆ๋‹ค.

"Clova ์š”์•ฝ ์„œ๋น„์Šค"๋ผ๊ณ  ๊ธด ๊ธ€์„ ๋ณด๋‚ด๋ฉด, 3์ค„๋กœ ๊น”๋”ํ•˜๊ฒŒ ์š”์•ฝํ•ด์„œ returnํ•ด์ค€๋‹ค.

์ด๋Ÿฐ ๊ฑฐ ์“ฐ๋ ค๋ฉด, API ํ˜ธ์ถœ 1ํšŒ๋‹น, 2์›์„ ๋‚ด์•ผํ•œ๋‹ค.

์ด๋Ÿฐ ์‹์œผ๋กœ, API ํ˜ธ์ถœ๋งˆ๋‹ค ๊ณผ๊ธˆ์„ ํ•ด์ค„ ์ˆ˜๋„ ์žˆ๋‹ค.


์•„๋‹ˆ๋ฉด, ์ข‹์€ API๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค๋ฉด, API Marketplace์—๋‹ค๊ฐ€ ์˜ฌ๋ ค์„œ ํŒ”์•„๋ณด์ž!!

๊ทธ๋Ÿฌ๋ฉด, ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ์ œ๊ณตํ•˜๋Š” API๊ฐ€ ํ•„์š”ํ•ด์ง€๋Š” ํšŒ์‚ฌ๋“ค์ด ๋ˆ ๋‚ด๊ณ  ์“ธ ์ˆ˜๋„ ์žˆ๋Š” ๊ฑฐ๊ณ ์š”.

๊ทธ๋Ÿฐ ์‹์œผ๋กœ ์—ฌ๋Ÿฌ๊ฐ€์ง€ API๋ฅผ ํ™œ์šฉํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ๋ชจ๋ธ์ด ๋งŽ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„๋“ค๋„ API ๋งŒ๋“ค์–ด์„œ ํ•จ ํŒ”์•„๋ณด์ž!!


API๋ฅผ ์ข€ ๋” ์–ด๋ ต๊ณ  ์ •ํ™•ํ•˜๊ฒŒ ์ •์˜ํ•˜๋ฉด

API(Application Programming Interface)๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ธํ„ฐํŽ˜์ด์Šค์ด๋‹ค. ์ฆ‰, ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก, ์šด์˜ ์ฒด์ œ๋‚˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“  ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋œปํ•œ๋‹ค. ์ฃผ๋กœ ํŒŒ์ผ ์ œ์–ด, ์ฐฝ ์ œ์–ด, ํ™”์ƒ ์ฒ˜๋ฆฌ, ๋ฌธ์ž ์ œ์–ด ๋“ฑ์„ ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

API์˜ ์—ญ์‚ฌ

๊ทธ๋Ÿฐ๋ฐ, 1990๋…„๋„ ์ธํ„ฐ๋„ท์ด ๋Œ€์ค‘ํ™”๋˜๋ฉด์„œ, ๋”์ด์ƒ ๋กœ์ปฌํ™˜๊ฒฝ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ๋‹ค์–‘ํ•œ ๊ธฐ๊ธฐ๋“ค์ด ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด์„œ ์˜์‚ฌ์†Œํ†ตํ•ด๋‚˜๊ฐ€๋Š” ์‹œ๋Œ€๊ฐ€ ์™”๋‹ค.

์ด ๋•Œ ๋‹ค์–‘ํ•œ ๊ธฐ๊ธฐ์—์„œ ์„œ๋ฒ„์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ  ์“ฐ๊ธฐ ์œ„ํ•ด์„œ๋Š” ์„œ๋ฒ„์—์„œ ์ œ๊ณตํ•˜๋Š” Web API๋“ค์„ ์ด์šฉํ•ด์„œ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

์—ฌ๊ธฐ์„œ, ๋„คํŠธ์›Œํฌ์—์„œ ๊ธฐ๊ธฐ๋“ค๊ฐ„์— ์˜์‚ฌ์†Œํ†ต์„ ํ•ด๋‚˜๊ฐ€๋Š” ๊ทœ๊ฒฉ ์‚ฌํ•ญ์„ HTTP๋ผ๊ณ  ๋ถ€๋ฅด๊ตฌ์š”.

๋˜ํ•œ, ์ด๋Ÿฐ Web API๋ฅผ ์–ด๋–ป๊ฒŒ ๋””์ž์ธํ•ด์„œ ๋งŒ๋“ค๊ฑด์ง€ ์ •์˜ํ•˜๋Š” ๊ฒƒ์ด ์กด์žฌํ•œ๋‹ค. ์˜ˆ์ „์—๋Š” SOAP์ด๋ผ๋Š” ๋ชจ๋“  ๋„คํŠธ์›Œํฌ ์š”์ฒญ๊ณผ ๋ฐ˜์‘์„ HTML์ฒ˜๋Ÿผ ์ƒ๊ธด XML์ด๋ผ๋Š” ๋ฐ์ดํ„ฐ ํฌ๋งท์— ์ €์žฅํ•ด์„œ ์ฃผ๊ณ  ๋ฐ›์•˜๋‹ค. ๊ทธ๋Ÿฌ๋‚˜, ์š”์ฆ˜์—๋Š” REST๊ฐ€ ๋ณดํŽธ์ ์œผ๋กœ ๋งŽ์ด ์‚ฌ์šฉ๋˜์–ด์ง„๋‹ค.


ํ™•์žฅ๋œ API์˜ ์˜๋ฏธ - class๋‚˜ ํ•จ์ˆ˜

๊ทธ๋ฆฌ๊ณ  ์ด์ œ๋Š” ์ด๋Ÿฐ Web API ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ,

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‚˜ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์šฐ๋ฆฌ๊ฐ€ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋Š” class๋‚˜ ํ•จ์ˆ˜๋“ค์„ API๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด )

ํ”„๋กœ์ ํŠธ ๋‚ด๋ถ€์—์„œ ์“ฐ์—ฌ์ง€๊ณ  ์žˆ๋Š” ํด๋ž˜์Šค๋‚˜ ๋ชจ๋“ˆ์ด ์žˆ๋‹ค๋ฉด, Calculator์—์„œ ์ œ๊ณตํ•˜๋Š”

2๊ฐ€์ง€์˜ ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ
( = 2๊ฐ€์ง€์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ด์šฉํ•ด์„œ )
( = 2๊ฐ€์ง€์˜ API๋ฅผ ์ด์šฉํ•ด์„œ )

์‚ฌ์šฉํ•˜๋ฉด ๋ผ. ๋ผ๋„ ํ•  ์ˆ˜์žˆ์Šต๋‹ˆ๋‹ค.
ํ•จ์ˆ˜ === ์ธํ„ฐํŽ˜์ด์Šค === API

๋ฐ”๋กœ ์ด ์ ์ด ๊ฐ€๋” ๋‚˜๋ฅผ ํ—ท๊ฐˆ๋ฆฌ๊ฒŒ ํ–ˆ๋‹ค;;;


์ด์ฒ˜๋Ÿผ API๋Š” ๋‹ค์–‘ํ•œ ๋ถ€๋ถ„์—์„œ ์‚ฌ์šฉ๋˜์–ด ์ง€๋Š” ๋‹จ์–ด์ด๋‹ค.

๋‚ด๋ถ€์˜ ๊ตฌํ˜„ ์‚ฌํ•ญ์„ ์ž˜ ์ˆจ๊ฒจ๋‘๊ณ , ์™ธ๋ถ€์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ์ด ํ•„์š”ํ•œ ๊ฒƒ๋งŒ ๋…ธ์ถœํ•ด ๋‘๊ณ , ์ด๊ฒƒ์„ "์ธํ„ฐํŽ˜์ด์Šค or API" ๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ๊ฑฐ์ฃ .


์ธํ„ฐํŽ˜์ด์Šค์ด๋ž€??

์˜ˆ๋ฅผ ๋“ค์–ด, ์žํŒ๊ธฐ ๊ธฐ๊ณ„๊ฐ€ ๋‚ด๋ถ€์ ์œผ๋กœ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ๋ชฐ๋ผ๋„, ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด์„œ ๊ธฐ๊ณ„๋ฅผ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์ธํ„ฐํŽ˜์ด์Šค(interface)๋ž€ ์‚ฌ๋ฌผ๊ณผ ์‚ฌ๋ฌผ ์‚ฌ์ด ๋˜๋Š” ์‚ฌ๋ฌผ๊ณผ ์ธ๊ฐ„ ์‚ฌ์ด์˜ ๊ฒฝ๊ณ„์—์„œ, ์ƒํ˜ธ ๊ฐ„์˜ ์†Œํ†ต์„ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ๋ฌผ๋ฆฌ์  ๋งค๊ฐœ์ฒด๋‚˜ ํ”„๋กœํ† ์ฝœ์„ ๋งํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ด ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๊ฐ„๋‹จํ•˜๊ณ , ๋” ์ง๊ด€์ ์ผ์ˆ˜๋ก ๋” ์ข‹์€ ๊ธฐ๊ณ„๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฐ”๋กœ ์ด๋Ÿฐ ๊ฒƒ์ฒ˜๋Ÿผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ๋„ API๋ผ๋Š” ๊ฒƒ์ด ์กด์žฌํ•œ๋‹ค.


์ถ”๊ฐ€ ์ž๋ฃŒ ์ถœ์ฒ˜

profile
์ข‹์€ ๊ธธ๋กœ๋งŒ ๊ฐ€๋Š” "์กฐ์€๊ธธ"์ž…๋‹ˆ๋‹ค๐Ÿ˜

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

comment-user-thumbnail
2023๋…„ 11์›” 2์ผ

๋•๋ถ„์— ๋„ˆ๋ฌด ์ดํ•ด๊ฐ€ ์ž˜๋ผ์š”!! ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค~

๋‹ต๊ธ€ ๋‹ฌ๊ธฐ