λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

πŸ“š/γ„΄ JavaScript

[JavaScript] Axios μ‚¬μš©ν•˜μ—¬ μ›Ήμ„œλ²„μ™€ ν†΅μ‹ ν•˜κΈ°

πŸ”½ AJAX, HTTP에 λŒ€ν•΄μ„œλŠ” μ•„λž˜ 포슀트λ₯Ό μ°Έκ³ ν•΄μ£Όμ„Έμš” πŸ”½

 

[JavaScript / 비동기 처리] AJAX / Callback, Promise, async, await

πŸ“Œ λ™κΈ°(Synchronous) ν”„λ‘œκ·Έλž˜λ° vs 비동기(Asynchronous) ν”„λ‘œκ·Έλž˜λ°  λ™κΈ° ν”„λ‘œκ·Έλž˜λ°μ€ μ½”λ“œκ°€ λ°˜λ“œμ‹œ μž‘μ„±λœ μˆœμ„œλŒ€λ‘œ μ‹€ν–‰λ˜λŠ” 방식이닀.  λΉ„동기 ν”„λ‘œκ·Έλž˜λ°μ€ μ½”λ“œμ˜ μ²˜λ¦¬κ°€ μ™„λ£Œλ  λ•ŒκΉŒ

devjindev.tistory.com

 

[HTTP] APIλž€? REST(RESTful) APIλž€?

πŸ”— API(Application Programing Interface)λž€?  μ‘μš© ν”„λ‘œκ·Έλž¨μ—μ„œ μ‚¬μš©ν•  수 μžˆλ„λ‘, 운영 μ²΄μ œλ‚˜ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄κ°€ μ œκ³΅ν•˜λŠ” κΈ°λŠ₯을 μ œμ–΄ν•  수 있게 λ§Œλ“  μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ˜λ―Έν•œλ‹€. πŸ”— REST(RESTful) APIλž€?..

devjindev.tistory.com


πŸ”— Axiosλž€?

 

  • AxiosλŠ” λΈŒλΌμš°μ €, Node.jsλ₯Ό μœ„ν•œ Promise APIλ₯Ό ν™œμš©ν•˜λŠ” HTTP 비동기 톡신 λΌμ΄λΈŒλŸ¬λ¦¬μ΄λ‹€.
  • λ°±μ—”λ“œλž‘ ν”„λ‘ νŠΈμ—”λ“œλž‘ 톡신을 μ‰½κ²Œν•˜κΈ° μœ„ν•΄ Ajax와 λ”λΆˆμ–΄ μ‚¬μš©ν•œλ‹€.
  •  
  • 운영 ν™˜κ²½μ— 따라 λΈŒλΌμš°μ €μ˜ XMLHttpRequest 객체 λ˜λŠ” Node.js의 HTTP λ©”μ†Œλ“œλ₯Ό μ‚¬μš©ν•œλ‹€.
  • Promise(ES6) APIλ₯Ό μ‚¬μš©ν•œλ‹€.
  • μš”μ²­κ³Ό 응닡 λ°μ΄ν„°μ˜ λ³€ν˜•μ΄ κ°€λŠ₯ν•˜λ‹€.
  • HTTP μš”μ²­ μ·¨μ†Œκ°€ κ°€λŠ₯ν•˜λ‹€.
  • HTTP μš”μ²­κ³Ό 응닡을 JSON ν˜•νƒœλ‘œ μžλ™ λ³€κ²½ν•œλ‹€.

πŸ”— Axios μ‚¬μš©λ²•

 

β—Ύ Axios μ„€μΉ˜

 

npm i axios

β—Ύ Axios 뢈러였기

 

import axios from 'axios'

β—Ύ Axios μ‚¬μš©ν•˜κΈ°

 

β—½ HTTP λ©”μ†Œλ“œ

 

β‘  GET : μ„œλ²„ μžμ›μ„ κ°€μ Έμ˜¨λ‹€.
β‘‘ POST : μ„œλ²„μ— μžμ›μ„ μƒˆλ‘œ λ“±λ‘ν•œλ‹€.
β‘’ PUT : μ„œλ²„ μžμ›μ„ μš”μ²­μ— λ“€μ–΄ μžˆλŠ” μžμ›μœΌλ‘œ λ°”κΎΌλ‹€.
β‘£ PATCH : μ„œλ²„ μžμ›μ„ 일뢀 μˆ˜μ •ν•œλ‹€.
β‘€ DELETE : μ„œλ²„ μžμ›μ„ μ‚­μ œν•œλ‹€.
1
2
3
4
5
axios.get(url[, config])            // GET
axios.post(url[, data[, config]])   // POST
axios.put(url[, data[, config]])    // PUT
axios.patch(url[, data[, config]])  // PATCH
axios.delete(url[, config])         // DELETE
cs

 

 

(+) Axios() vs Axios.HTTP λ©”μ†Œλ“œ()

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import axios from 'axios';
 
// axios() μ‚¬μš© μ‹œ
 
axios({
    method:"POST",
    url: 'url μ£Όμ†Œ',
    data:{
        "email": email.value,
        "password": password.value
    }})
    .then((res) => {
        console.log(res);
    })
    .catch((error) => {
        console.log(error);
        throw new Error(error);
    });
 
// axios.post() HTTP λ©”μ†Œλ“œ μ‚¬μš©μ‹œ

axios.post('url μ£Όμ†Œ', {
    "email": email.value,
    "password": password.value
    })
    .then((res) => {
        console.log(res);
    })
    .catch((error) => {
        console.log(error);
        throw new Error(error);
    });
 
cs

 

 


πŸ”Ž μ°Έκ³  자료

πŸ’‘ 같이 λ³΄λ©΄ 쒋을 Post

 

[HTTP] APIλž€? REST(RESTful) APIλž€?

πŸ”— API(Application Programing Interface)λž€?  μ‘μš© ν”„λ‘œκ·Έλž¨μ—μ„œ μ‚¬μš©ν•  수 μžˆλ„λ‘, 운영 μ²΄μ œλ‚˜ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄κ°€ μ œκ³΅ν•˜λŠ” κΈ°λŠ₯을 μ œμ–΄ν•  수 있게 λ§Œλ“  μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ˜λ―Έν•œλ‹€. πŸ”— REST(RESTful) APIλž€?..

devjindev.tistory.com