ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • API, REST API, RESTful API์— ๋Œ€ํ•ด์„œ
    Back-end 2023. 12. 18. 13:52
    ๋ฐ˜์‘ํ˜•

    ๋“ค์–ด๊ฐ€๊ธฐ

     REST API ์ •์˜, ํŠน์ง•, ์žฅ์ ๊ณผ ๋‹จ์ , ์‚ฌ์šฉ ๊ทœ์น™์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. REST API๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ ์•ž์„œ API์— ๋Œ€ํ•ด์„œ ๋จผ์ € ์•Œ์•„๋ณธ๋‹ค.

     

    API

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

    \ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ์„œ๋ฒ„์— ์ „๋‹ฌํ•˜๊ณ , ์„œ๋ฒ„์˜ ๊ฒฐ๊ณผ๋ฌผ์„ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋Œ๋ ค์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

     

    REST, REST API, RESTful API

     REST๋Š” Representational State Transfer์˜ ์ถ•์•ฝํ˜•์œผ๋กœ ์ž์›์„ ์ด๋ฆ„์œผ๋กœ ๊ตฌ๋ถ„ํ•ด ์ž์›์˜ ์ƒํƒœ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. REST์˜ ํŠน์ง•์œผ๋กœ๋Š” ์ธํ„ฐํŽ˜์ด์Šค ์ผ๊ด€์„ฑ, ๋ฌด์ƒํƒœ, ์บ์‹œ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ, ๊ณ„์ธตํ™”, ํด๋ผ์ด์–ธํŠธ/์„œ๋ฒ„ ๊ตฌ์กฐ, Code on demand(์„ ํƒ์‚ฌํ•ญ)์ด ์žˆ๋‹ค.

     REST API๋Š” REST์˜ ํŠน์ง•์„ ์ด์šฉํ•œ API๋กœ URL์˜ ์„ค๊ณ„ ๋ฐฉ์‹์„ ๋งํ•œ๋‹ค. ์žฅ์ ์œผ๋กœ๋Š” URL๋งŒ์œผ๋กœ ์–ด๋–ค ํ–‰๋™์„ ํ•˜๋Š” API์ธ์ง€ ๋ช…ํ™•ํ•˜๊ฒŒ ์•Œ ์ˆ˜ ์žˆ๊ณ , ๋ฌด์ƒํƒœ์ด๋ฏ€๋กœ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„์˜ ์—ญํ• ์ด ๋ช…ํ™•ํ•˜๊ฒŒ ๋ถ„๋ฆฌ๋œ๋‹ค.

     RESTful API๋Š” RESTํ•˜๊ฒŒ ๋””์ž์ธํ•œ API๋ฅผ ๋งํ•œ๋‹ค. 

     

    ์‚ฌ์šฉ ๊ทœ์น™

    1. URL์—๋Š” ๋™์‚ฌ๋ฅผ ์“ฐ์ง€ ๋ง๊ณ , ์ž์›์„ ํ‘œ์‹œํ•œ๋‹ค.
      /articles/1 : ์˜ฌ๋ฐ”๋ฅธ ์‚ฌ์šฉ
      /articles/show/1 : ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์€ ์‚ฌ์šฉ. 'show'๋ผ๋Š” ๋™์‚ฌ ์‚ฌ์šฉ.
    2. ๋™์‚ฌ๋Š” HTTP ๋ฉ”์„œ๋“œ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.
      HTTP ๋ฉ”์„œ๋“œ : GET, POST, PUT, PATCH, DELETE ๋“ฑ
      GET /articles/1
      POST /articles
      PUT /articles/1
      DELETE /articles/1
    3. ์Šฌ๋ž˜์‹œ(/)๋Š” ๊ณ„์ธต ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ ์‚ฌ์šฉํ•œ๋‹ค.
    4. ์–ธ๋”๋ฐ”(_) ๋Œ€์‹ ์— ํ•˜์ดํ”ˆ(-)์„ ์‚ฌ์šฉํ•œ๋‹ค.
    5. URL์—๋Š” ์†Œ๋ฌธ์ž ์˜๋‹จ์–ด๋งŒ ์‚ฌ์šฉํ•œ๋‹ค.
    ๋ฐ˜์‘ํ˜•
Designed by Tistory.