API

API?

1. ๊ฐœ๋…

  • Application Programming Interface์˜ ์•ฝ์ž๋กœ, ์šด์˜์ฒด์ œ ๋˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ์–ด ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“  ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋œปํ•œ๋‹ค.

  • UI์™€ ๋น„์Šทํ•œ ์—ญํ• ์„ ํ•˜๋Š”๋ฐ, ์‚ฌ๋žŒ๋“ค์ด ์ด์šฉํ•˜๋Š” ์—ฌ๋Ÿฌ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌ ๋ฐ ์ฒ˜๋ฆฌํ•˜๊ณ  ํ”„๋กœ๊ทธ๋žจ๊ณผ ํ”„๋กœ๊ทธ๋žจ์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ์ด๋ˆ๋‹ค.

  • ์ฆ‰, ํ”„๋กœ๊ทธ๋žจ๋ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ธฐ์œ„ํ•œ ๋ฐฉ๋ฒ•๊ณผ ๊ทธ ๊ทœ๊ฒฉ์„ ๋œปํ•œ๋‹ค.

2. ์ข…๋ฅ˜

  1. REST API

    • REST : Representational State Transfer

    • ์ž์›์˜ ์ด๋ฆ„์œผ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ํ•ด๋‹น ์ž์›์˜ ์ƒํƒœ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ฒƒ์„ ๋œปํ•œ๋‹ค.

      ex) ์–ด๋– ํ•œ DB์˜ ์ž์›์ด "์„ฑ์ "์ด๋ผ๋ฉด, "grade"๋ฅผ ์ž์›์˜ ํ‘œํ˜„์œผ๋กœ ์นญํ•œ๋‹ค.

    REST
    • HTTP URI๋ฅผ ํ†ตํ•˜์—ฌ ์ž์›์„ ๋ช…์‹œํ•˜๊ณ , HTTP Method๋ฅผ ํ†ตํ•˜์—ฌ ํ•ด๋‹น ์ž์›์˜ ์ „๋‹ฌ ๋ฐฉ์‹์„ ์ ์šฉํ•œ๋‹ค.

      HTTP Method 1. Create(์ƒ์„ฑ) : POST 2. Read (์กฐํšŒ) : GET 3. Update (์ˆ˜์ •) : PUT 4. Delete (์‚ญ์ œ) : DELETE

    • ์žฅ์ 

      • HTTP ํ‘œ์ค€ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ํ”Œ๋žซํผ์—์„œ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

      • API์˜ ์ฃผ์†Œ์™€ Method๋งŒ ๋ด๋„ ์š”์ฒญ์˜ ๋‚ด์šฉ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

      • ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๊ฐœ๋ฐœ์ž ๊ฐ„ ์†Œํ†ต์ด ์‰ฝ๊ณ  ํ˜ผ์„ ์ด ์ ๋‹ค.

    • ๋‹จ์ 

      • REST API๋ฅผ ๊ทœ์ •ํ•˜๋Š” ํ‘œ์ค€ ๊ทœ์•ฝ์ด ์—†๋‹ค.

      • HTTP Method์˜ ๊ฐฏ์ˆ˜๊ฐ€ 4๊ฐœ๋กœ ์ œํ•œ์ ์ด๋‹ค.

    • RESTFUl

      • ์œ„์— ์„œ์ˆ ํ•œ REST์˜ ์›๋ฆฌ๋ฅผ ๋”ฐ๋ฅด๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.

        • REST๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋‘ RESTFULํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ REST API์˜ ์„ค๊ณ„ ๊ทœ์น™์„ ์ง€์ผœ์•ผ ํ•œ๋‹ค. (URI ์„ค์ •, API method ๋“ฑ)

  2. SOAP API

    • SOAP : Simple Object Access Protocol

    • HTTP, HTTPS, SMTP ๋“ฑ์„ ํ†ตํ•ด XML ๊ธฐ๋ฐ˜์˜ ๋ฉ”์‹œ์ง€๋ฅผ ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ๊ตํ™˜ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ.

    • REST API๊ฐ€ HTTP ํ”„๋กœํ† ์ฝœ์— ๊ธฐ๋ฐ˜ํ•œ๋‹ค๋ฉด, SOAP API๋Š” ๊ทธ ์ž์ฒด๋กœ ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

    • ์žฅ์ 

      • ํ‘œ์ค€ ๊ทœ์•ฝ์ด ์ •ํ™•ํžˆ ๋ช…์‹œ๋˜์–ด ์žˆ๋‹ค.

      • REST API์— ๋น„ํ•˜์—ฌ ํ›จ์”ฌ ๋†’์€ ๋ณด์•ˆ์„ฑ์„ ์ง€๋‹Œ๋‹ค.

        • ์ฃผ๋กœ ์€ํ–‰, ๊ธฐ์—…์šฉ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋“ฑ ๋ณด์•ˆ์„ฑ์ด ์ค‘์š”ํ•œ ๊ณณ์—์„œ ์‚ฌ์šฉ

    • ๋‹จ์ 

      • REST API์— ๋น„ํ•˜์—ฌ ๋ฌด๊ฒ๊ณ  ๋А๋ฆฌ๋‹ค.

      • ํ‘œ์ค€ ๊ทœ์•ฝ์ด ์ •ํ™•ํžˆ ๋ช…์‹œ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ˜๋“œ์‹œ ์ง€์ผœ์•ผ ํ•˜๋ฉฐ, REST API์— ๋น„ํ•˜์—ฌ ํ›จ์”ฌ ์–ด๋ ต๋‹ค.

์ฐจ์ด์ 

Last updated