node.js와 브라우저를 위한 Promise 기반 HTTP 클라이언트 쉽게 말해 서버와의 연결/통신을 도와주는 라이브러리

API


프로그램과 데이버테이스 , 기능의 통신 방법을 도와주는 매개체. 데이버테이스 자체는 아니지만 요청에 따라 데이터, 서비스, 기능을 제공하는 메신저

특징

{//Axios 공식 문서
  // `data`는 서버가 제공한 응답(데이터)입니다.
  data: {},

  // `status`는 서버 응답의 HTTP 상태 코드입니다.
  status: 200,

  // `statusText`는 서버 응답으로 부터의 HTTP 상태 메시지입니다.
  statusText: 'OK',

  // `headers` 서버가 응답 한 헤더는 모든 헤더 이름이 소문자로 제공됩니다.
  headers: {},

  // `config`는 요청에 대해 `axios`에 설정된 구성(config)입니다.
  config: {},

  // `request`는 응답을 생성한 요청입니다.
  // 브라우저: XMLHttpRequest 인스턴스
  // Node.js: ClientRequest 인스턴스(리디렉션)
  request: {}
}

실패시
{
  data: {},
  status:   ,
  statusText: ' '
}
async function getData(){
        try{
            const response = await axios.get('<https://jsonplaceholder.typicode.com/users>');
            console.log(response.data);
        }catch(e){
            console.log(e);
        }
    }
const postData=async () => {
        try{
            axios.post('<https://jsonplaceholder.typicode.com/users>', {
                username:"go",
                age:20
            })
        }catch(e){
            console.log(e);
        }
    }

값 불러와서 표시

https://react.vlpt.us/integrate-api/01-basic.html

function Users(){
    const [data, setData] = useState([]);

    useEffect(()=>{
        async function getData(){
            try{
                const response = await axios.get('<https://jsonplaceholder.typicode.com/users>');
                setData(response.data)
                console.log(data);
                
            }catch(e){
                console.log(e);
            }
        }        

        getData();
    },[]);
       
    return(       
        <div>
            <h1>AXIOS</h1>

            <ul>
                {data.map(user =>(

                    <li key={user.id}
                    >{user.name}
                    </li>

                ))}
                
            </ul>
        </div>
    )
}