Axios
2024. 11. 4. 15:27ㆍReact
Axios는 브라우저와 Node.js 환경에서 모두 사용할 수 있는 Promise 기반 HTTP 클라이언트 라이브러리입니다. 주로 API와의 통신을 쉽게 구현하기 위해 사용되며, RESTful API와 상호작용하는 작업에서 자주 사용됩니다. React, Vue, Angular 등 여러 프레임워크에서 널리 사용되고 있습니다.
주요 기능
Axios의 주요 기능은 다음과 같습니다:
- HTTP 요청:
GET
,POST
,PUT
,DELETE
,PATCH
와 같은 HTTP 요청을 쉽게 보낼 수 있습니다.
- Promise 기반:
async/await
구문을 통해 비동기 요청을 간단히 다룰 수 있습니다.
- 자동 JSON 데이터 변환:
- 요청 본문이나 응답 데이터를 JSON으로 자동 변환하므로, JSON.stringify나 JSON.parse를 직접 호출하지 않아도 됩니다.
- 요청 및 응답 인터셉터:
- 요청이나 응답을 가로채는 인터셉터 기능을 제공합니다. 이를 통해 요청 전에 헤더를 추가하거나, 응답 후 오류 처리를 일괄적으로 관리할 수 있습니다.
- 타임아웃 설정 및 취소 기능:
- 요청 시간 초과 설정이 가능하고, 필요 시 요청을 취소할 수도 있습니다.
- 크로스 브라우저 지원:
- 현대 브라우저와 오래된 브라우저에서도 잘 동작합니다.
간단한 사용 예제
Axios로 데이터를 요청하고, 서버로부터 응답을 받는 예제입니다.
import axios from 'axios';
async function fetchData() {
try {
const response = await axios.get('https://api.example.com/data');
console.log(response.data); // 응답 데이터 출력
} catch (error) {
console.error('Error fetching data:', error); // 오류 처리
}
}
fetchData();
주요 메서드 예시
- GET 요청:
axios.get('/api/user/12345');
- POST 요청:
axios.post('/api/user', { name: 'John Doe', age: 30 });
- 요청 취소:
const source = axios.CancelToken.source(); axios.get('/api/user', { cancelToken: source.token }); source.cancel('요청 취소');
Axios와 Fetch API 비교
- 구현 편의성: Axios는 기본적으로 JSON으로 자동 변환해주고, 인터셉터 등을 제공해 Fetch보다 편리한 기능이 많습니다.
- 오래된 브라우저 지원: Axios는 IE와 같은 구형 브라우저 지원이 더 잘 이루어집니다.
- 에러 처리: Axios는 요청 실패 시 HTTP 상태 코드를 포함한 오류를 쉽게 다룰 수 있게 해줍니다.
Axios는 전반적으로 안정적이고 유연한 HTTP 클라이언트로, 특히 API 호출과 데이터 통신이 중요한 웹 애플리케이션에서 유용하게 사용할 수 있습니다.
'React' 카테고리의 다른 글
React Event Handling (0) | 2024.11.04 |
---|---|
컴포넌트, JSX (0) | 2024.11.04 |
Promise (0) | 2024.11.04 |
react project 실행 관련 (0) | 2024.11.04 |
Context API (0) | 2024.10.24 |