6월 둘째주 WIL

E__ppo·2022년 6월 12일
0

WIL

목록 보기
5/8

Axios는 node.js와 브라우저를 위한 Promise 기반 HTTP 클라이언트 입니다. 그것은 동형 입니다(동일한 코드베이스로 브라우저와 node.js에서 실행할 수 있습니다). 서버 사이드에서는 네이티브 node.js의 http 모듈을 사용하고, 클라이언트(브라우저)에서는 XMLHttpRequests를 사용합니다.

  • 특징
    브라우저를 위해 XMLHttpRequests 생성
    node.js를 위해 http 요청 생성
    Promise API를 지원
    요청 및 응답 인터셉트
    요청 및 응답 데이터 변환
    요청 취소
    JSON 데이터 자동 변환
    XSRF를 막기위한 클라이언트 사이드 지원

나중에 참고할 axios 코드 ㅇ_ㅇ

에러핸들링

axios.get('/user/12345')
  .catch(function (error) {
    if (error.response) {
      // 요청이 전송되었고, 서버는 2xx 외의 상태 코드로 응답했습니다.
      console.log(error.response.data);
      console.log(error.response.status);
      console.log(error.response.headers);
    } else if (error.request) {
      // 요청이 전송되었지만, 응답이 수신되지 않았습니다. 
      // 'error.request'는 브라우저에서 XMLHtpRequest 인스턴스이고,
      // node.js에서는 http.ClientRequest 인스턴스입니다.
      console.log(error.request);
    } else {
      // 오류가 발생한 요청을 설정하는 동안 문제가 발생했습니다.
      console.log('Error', error.message);
    }
    console.log(error.config);
  });
validateStatus config 옵션을 사용하면, 오류를 발생시키는 HTTP 코드를 정의할 수 있습니다.
axios.get('/user/12345', {
  validateStatus: function (status) {
    return status < 500; // 상태 코드가 500 미만인 경우에만 해결
  }
})
toJSON을 사용하면, HTTP 에러에 대한 더 많은 정보를 객체 형식으로 가저옵니다.
axios.get('/user/12345')
  .catch(function (error) {
    console.log(error.toJSON());
  });

0개의 댓글