개발공작소
article thumbnail
728x90

 

 

 

 

 

Axios를 많이 쓰긴 했는데, 정확히 정리해놓은 게 없어서 정리해본다.

주로 많이 쓰이는 GET요청과 POST요청만 정리해봄..

 

 

npm trends에서 사용자들의 axios 다운로드 통계를 검색해보면

하루에 1000만건 ~ 3000만건의 다운로드 건수를 확인 할 수 있다.

 

우리가 보통 비동기통신하면 떠오르는 녀석들이 ajax, fetch API, axios인데

이 3개를 비교해보아도 axios가 압도적으로 많이 쓰이는 걸 알 수 있다. 

( 검색해보니, npm에서 fetch는 react 내장함수라고 하길래 react로 비교했다. )

 

 

Axios로 GET 요청하는 방법

 

주로 GET방식을 사용하는 상황

 

  • 단순 데이터를 요청하는 경우
  • 파라메터 데이터를 포함하여 URL을 요청하는 경우

 

 

기본문법

axios({
  url: '요청주소',
  method: 'get',
  params: {
    foo: 'bar'
  }
});

 

가장 기본적인 문법이다. 하지만 실제로 구글에 검색을 해보면 이 기본문법보다는 아래의 요약문법이 많이 쓰이는 것을

알 수 있다. 나도 실제 개발을 할때는 아래의 요약문법을 주로 사용한다.

 

 

요약문법

axios.get('요청주소', {
  params: {
    foo: 'bar'
  }
});

 

axios GET요청의 요약문법, 정확히는 요약이라기 보다 가독성이나 보기 명확하게 method를 분리하여

사용한 것 뿐이다.

 

실제로 이렇게 사용되는 경우가 훨씬 많다.

 

 

 

샘플코드

axios({
      url: '/com/read.do', // 요청URL
      method: 'get', // GET방식 선언
      params : { // params에 데이터를 담음
         popSub : 'mySub!!!'
      }
}).then(result=>{
    console.log(result);
});

 

네트워크

 

비동기통신후, 네트워크를 보면 요청 URL 뒤에 param 데이터를 붙여서 요청한 것을 확인 할 수 있다.

 

params란  'read.do?popSub=mySub!!' 과 같은 URL의 GET방식을 객체화 한것이라고 이해하면 된다.

 

(중요) axios의 GET방식에서는 데이터를 Body에 담아서 보낼 수 없다는 것을 명심하도록 하자.

 

추가설명을 하자면 GET방식에서 Body에 데이터를 담아서 서버요청을 해도 에러가 발생하지는 않지만

해당 값은 빈값으로 받게 된다.

 

 

 

Axios로 POST요청하는 방법

 

 

기본문법

axios({
  url: '요청주소',
  method: 'post',
  data: {
    데이터명: '데이터값'
  }
});

 

 

요약문법

axios.post('요청주소', {
    foo: 'bar'
});

//아래와 같이 데이터 객체가 있다면 그냥 객체만 넣어줘도 된다.

data = {
	foo : 'bar'
}

axios,post('요청주소', data);

 

method요청방식이 get에서 post로 변경된 것만 빼면

axios의 GET방식과 크게 다르지 않으므로 따로 설명은 하지 않겠다. 

 

위의 코드에는 따로 설정되어 있지 않지만 아래와 같이 파라메터를 넣어주면 된다.

 

Axios 파라메터 설정
1번째 파라메터 : 요청주소(URL)
2번째 파라메터 : 바디(Body)
3번째 파라메터 : 헤더(Header)

 

 

GET방식을 잘 안쓰다보니 params 데이터를 보내는 걸 깜빡한 김에 정리해보았다.

 

728x90
profile

개발공작소

@모찌바라기

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!