็„ก์ œ

Axios vs Fetch ๋ณธ๋ฌธ

<React>

Axios vs Fetch

yo-u-loo 2026. 7. 24. 10:23


๐ŸŸก Axios vs Fetch

Axios์™€ Fetch๋Š” ์„œ๋ฒ„์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ธฐ ์œ„ํ•œ HTTP ํ†ต์‹  ๋„๊ตฌ์ด๋‹ค.

๋‘˜ ๋‹ค API ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์ง€๋งŒ, JSON ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์— ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค.

 

โ—ผ๏ธ JSON

๊ฐ์ฒด(Object)๋‚˜ ๋ฐฐ์—ด(Array)์€ ๊ทธ๋Œ€๋กœ ์„œ๋ฒ„์™€ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์—†๋‹ค.

๋”ฐ๋ผ์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ๋•Œ๋Š” JSON ๋ฌธ์ž์—ด(String) ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ณด๋‚ด๊ณ , ๋ฐ›์€ ํ›„์—๋Š” ๋‹ค์‹œ ๊ฐ์ฒด๋‚˜ ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค.

const user = {
  name: "Kim",
};

 

์ „์†ก ์‹œ

{
  "name": "Kim"
}
  • JSON์€ ๋ฌธ์ž์—ด ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ์ด๋ฏ€๋กœ ์„œ๋ฒ„์™€ ์ž์œ ๋กญ๊ฒŒ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

 

โ—ผ๏ธ Axios

JSON ๋ฐ์ดํ„ฐ๋ฅผ ์ž๋™์œผ๋กœ JavaScript ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ํ•ด ์ค€๋‹ค.

๋”ฐ๋ผ์„œ ๋ณ„๋„์˜ ๋ณ€ํ™˜ ๊ณผ์ • ์—†์ด ๋ฐ”๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

import axios from "axios";

axios.get("/api/user").then((response) => {
  console.log(response.data);
});
  • JSON → ๊ฐ์ฒด ๋ณ€ํ™˜ ์ž๋™ ์ฒ˜๋ฆฌ.
  • response.data๋กœ ๋ฐ”๋กœ ๋ฐ์ดํ„ฐ ์‚ฌ์šฉ ๊ฐ€๋Šฅ.

 

โ—ผ๏ธ Fetch

๋ณ„๋„์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜๊ฐ€ ํ•„์š” ์—†์œผ๋ฉฐ, ๋ธŒ๋ผ์šฐ์ €์—์„œ ๊ธฐ๋ณธ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” HTTP ํ†ต์‹  API์ด๋‹ค.

์„œ๋ฒ„์—์„œ ๋ฐ›์€ JSON ๋ฐ์ดํ„ฐ๋ฅผ ์ž๋™์œผ๋กœ JavaScript ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, response.json()์„ ํ˜ธ์ถœํ•˜์—ฌ ์ง์ ‘ ๋ณ€ํ™˜ํ•ด์•ผ ํ•œ๋‹ค.

fetch("/api/user")
  .then((response) => response.json())
  .then((data) => {
    console.log(data);
  });
  • response.json()์„ ํ˜ธ์ถœํ•ด์•ผ JSON ๋ฌธ์ž์—ด์ด JavaScript ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜๋œ๋‹ค.

 

 

๐Ÿ“ POINT ๐Ÿ“

โœ”๏ธ ๊ฐ์ฒด(Object)์™€ ๋ฐฐ์—ด(Array)์€ ๊ทธ๋Œ€๋กœ ์„œ๋ฒ„์™€ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์—†๋‹ค. โœ”๏ธ

โœ”๏ธ ์„œ๋ฒ„์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ๋•Œ๋Š” JSON ํ˜•์‹์„ ์‚ฌ์šฉํ•œ๋‹ค. โœ”๏ธ

โœ”๏ธ Axios๋Š” JSON์„ ์ž๋™์œผ๋กœ ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ํ•ด ์ค€๋‹ค. โœ”๏ธ

โœ”๏ธ Fetch๋Š” response.json()์„ ํ˜ธ์ถœํ•˜์—ฌ ์ง์ ‘ ๋ณ€ํ™˜ํ•ด์•ผ ํ•œ๋‹ค. โœ”๏ธ

โœ”๏ธ ๋‘˜ ๋‹ค HTTP ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ”„๋กœ์ ํŠธ ํ™˜๊ฒฝ์— ๋งž๊ฒŒ ์„ ํƒํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค. โœ”๏ธ

 

 

๐Ÿ“‹ Axios์™€ Fetch ๋น„๊ต ๐Ÿ“‹

ํ•ญ๋ชฉ Axios Fetch
์„ค์น˜ ํ•„์š” (npm install axios) ๋ถˆํ•„์š” (๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋ณธ ์ œ๊ณต)
JSON ๋ณ€ํ™˜ ์ž๋™ response.json() ํ•„์š”
๋ฐ์ดํ„ฐ ์ ‘๊ทผ response.data response.json() ํ›„ ์‚ฌ์šฉ
์‚ฌ์šฉ ํŽธ์˜์„ฑ ๋†’์Œ ๋น„๊ต์  ์ฝ”๋“œ๊ฐ€ ๊ธธ์–ด์ง