Search

axios

axios

axios๋Š” JavaScript์˜ HTTP ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, ๋ธŒ๋ผ์šฐ์ €์™€ Node.js ํ™˜๊ฒฝ์—์„œ ๋ชจ๋‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. axios๋Š” Promise๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ๊ณผ ๋‹ค์–‘ํ•œ ์„ค์ • ์˜ต์…˜์„ ์ œ๊ณตํ•˜์—ฌ ๋„คํŠธ์›Œํฌ ์š”์ฒญ์„ ๋ณด๋‹ค ํŽธ๋ฆฌํ•˜๊ฒŒ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค.

Axios ๊ธฐ๋ณธ ๊ตฌ์กฐ

// ๊ธฐ๋ณธ์ ์ธ GET ์š”์ฒญ axios.get('https://jsonplaceholder.typicode.com/todos/1') .then(response => { // ์„ฑ๊ณต์ ์ธ ์‘๋‹ต ์ฒ˜๋ฆฌ console.log(response.data); }) .catch(error => { // ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ console.error('Request failed:', error); });
JavaScript
๋ณต์‚ฌ

Axios์˜ ์ฃผ์š” ๋ฉ”์„œ๋“œ

๋ฉ”์†Œ๋“œ
์„ค๋ช…
axios.get(url, config)
์ง€์ •๋œ URL์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๋Š” ์š”์ฒญ์„ ํ•ฉ๋‹ˆ๋‹ค.
axios.post(url, data, config)
์ง€์ •๋œ URL๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฆฌ์†Œ์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. data ์— ์š”์ฒญ ๋ณธ๋ฌธ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๋Š”๋‹ค.
axios.put(url, data, config)
์ง€์ •๋œ URL์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์ „์ฒด์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. data ์— ์š”์ฒญ ๋ณธ๋ฌธ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๋Š”๋‹ค.
axios.delete(url, config)
์ง€์ •๋œ URL์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.
axios.patch(url, data, config)
์ง€์ •๋œ URL์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ๋ถ€๋ถ„์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.
axios.head(url, config)
์ง€์ •๋œ URL์˜ ํ—ค๋” ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

Axios ์„ค์ • ๊ฐ์ฒด(config)์˜ ์ฃผ์š” ์†์„ฑ

โ€ข
url: ์š”์ฒญ์„ ๋ณด๋‚ผ URL
โ€ข
method: HTTP ๋ฉ”์„œ๋“œ (GET, POST, PUT, DELETE ๋“ฑ)
โ€ข
params: URL์— ์ถ”๊ฐ€ํ•  ์ฟผ๋ฆฌ ๋งค๊ฐœ๋ณ€์ˆ˜
โ€ข
data: ์š”์ฒญ ๋ณธ๋ฌธ(body)์— ํฌํ•จ๋  ๋ฐ์ดํ„ฐ (POST, PUT ๋“ฑ์—์„œ ์‚ฌ์šฉ)
โ€ข
headers: ์š”์ฒญ ํ—ค๋” ์„ค์ •
โ€ข
timeout: ์š”์ฒญ์ด ์–ผ๋งˆ๋‚˜ ๊ธธ์–ด์งˆ ์ˆ˜ ์žˆ๋Š”์ง€ ์„ค์ •

Axios์˜ ๋ฐ˜ํ™˜๊ฐ’

axios ๋ฉ”์„œ๋“œ๋Š” Promise๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด Promise๋Š” ์„ฑ๊ณต์ ์ธ ์‘๋‹ต์ผ ๊ฒฝ์šฐ response ๊ฐ์ฒด๋ฅผ resolveํ•˜๊ณ , ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ error ๊ฐ์ฒด๋ฅผ rejectํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“ˆ์ด ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผํ•œ๋‹ค.

npm install axios
JavaScript
๋ณต์‚ฌ

์˜ˆ์‹œ ์ฝ”๋“œ - get

// axios ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฐ€์ ธ์˜ค๊ธฐ const axios = require('axios'); // GET ์š”์ฒญ ๋ณด๋‚ด๊ธฐ axios.get('https://httpbin.org/get') .then(response => { // ์„ฑ๊ณต์ ์ธ ์‘๋‹ต ์ฒ˜๋ฆฌ console.log(response.data); }) .catch(error => { // ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ console.error('Request failed:', error); });
JavaScript
๋ณต์‚ฌ

์˜ˆ์‹œ ์ฝ”๋“œ - post

const axios = require('axios') const url = 'https://httpbin.org/post' const data = { name : '๊น€์กฐ์€', age : 25 } const headers = { 'ContentType' : 'application/json' } // axios POST ์š”์ฒญ axios.post(url, data, headers) .then(response => { console.log(`data : ${response.data}`); // โญ console.dir(๊ฐ์ฒด) // : ๊ฐ์ฒด๋ฅผ ํŽผ์ณ์„œ ๋กœ๊ทธ๋ฅผ ์ถœ๋ ฅํ•ด์ค€๋‹ค. console.dir(response.data); }) .catch(error => { console.log(`error : ${error}`); })
JavaScript
๋ณต์‚ฌ