[JavaScript] ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜๊ธฐ : API, JSON, Ajax

2021. 4. 2. 02:41

์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด์„  API, JSON, Ajax ๋“ฑ์— ๋Œ€ํ•ด ์•Œ์•„์•ผํ•œ๋‹ค.

 

API๋ž€ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด์˜ ๋ฐ์ดํ„ฐ ์š”์ฒญ์„ ์œ„ํ•ด ์—ด์–ด๋†“์€ ์ฐฝ๊ตฌ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ์—์„œ ์„œ๋ฒ„๋กœ ์š”์ฒญํ•  ๋•Œ, ํƒ€์ž…์ด ์กด์žฌํ•˜๋Š”๋ฐ ๋Œ€ํ‘œ์ ์ธ ์˜ˆ๋กœ๋Š” GET๊ณผ POST๊ฐ€ ์žˆ๋‹ค.

  • GET : ๋ฐ์ดํ„ฐ ์กฐํšŒ๋ฅผ ์š”์ฒญํ•  ๋–„ ์‚ฌ์šฉ
  • POST : ๋ฐ์ดํ„ฐ ์ƒ์„ฑ, ๋ณ€๊ฒฝ, ์‚ญ์ œ๋ฅผ ์š”์ฒญํ•  ๋•Œ ์‚ฌ์šฉ

 

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•  ๋•Œ, ์„œ๋ฒ„๊ฐ€ ์ „๋‹ฌํ•ด์ฃผ๋Š” ๋ฐ์ดํ„ฐ์˜ ํฌ๋งท์ด JSON์ด๋‹ค.

JSON์€ ์ž๋ฃŒํ˜• ๊ตฌ์กฐ ๋”•์…”๋„ˆ๋ฆฌ(Dictionary)์™€ ์œ ์‚ฌํ•˜๋‹ค.

key์™€ value๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ ๋ฐ์ดํ„ฐ์˜ ์ •๋ณด๊ฐ€ ๋‹ด๊ฒจ์žˆ๋‹ค.

ํฌ๋กฌ ์ต์Šคํ…์…˜ JSONView๋ฅผ ์„ค์น˜ํ•˜๋ฉด JSON ํŒŒ์ผ์„ ๊ฐ€๋…์„ฑ ์ข‹๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

https://chrome.google.com/webstore/detail/jsonview/chklaanhfefbnpoihckbnefhakgolnmc?hl=ko

JSONView

Validate and view JSON documents

chrome.google.com

 

Ajax๋ž€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•œ ๋น„๋™๊ธฐ ํ†ต์‹ ์œผ๋กœ, ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๊ธฐ์ˆ ์ด๋‹ค.

Ajax๋Š” jQuery๋ฅผ ์ž„ํฌํŠธํ•œ ํŽ˜์ด์ง€์—์„œ๋งŒ ์ž‘๋™ํ•œ๋‹ค.

Ajax์˜ ๊ธฐ๋ณธ ๊ณจ๊ฒฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

$.ajax({
  type: "GET",
  url: "API ์ฃผ์†Œ",
  data: {},
  success: function(response){ 
    console.log(response)
  }
})

type์—๋Š” ์„œ๋ฒ„๋กœ ์š”์ฒญํ•  ๋•Œ์˜ ํƒ€์ž…์„ ์˜๋ฏธํ•˜๋ฉฐ GET, POST ๋“ฑ์ด ์žˆ๋‹ค.

์œ„์˜ ์˜ˆ์‹œ๋Š” GET ํƒ€์ž…์ด๊ธฐ ๋•Œ๋ฌธ์— data๊ฐ€ ๋น„์–ด์žˆ์ง€๋งŒ

POST ํƒ€์ž…์ผ ๊ฒฝ์šฐ data์— ์„œ๋ฒ„์— ๋„˜๊ฒจ์ค„ ๋ฐ์ดํ„ฐ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.

url ์ฃผ์†Œ์— API ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ response์— ์ €์žฅ๋œ๋‹ค.

success : function(response) ์•ˆ์— ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ• ์ง€ ์ž‘์„ฑํ•ด์ฃผ๋ฉด ๋œ๋‹ค. 

728x90

BELATED ARTICLES

more