Axios는 node.js와 브라우저에서 사용되는 프로미스 기반 HTTP 클라이언트입니다.
🔎 axios는
isomorphic한 특성
을 가지고 있습니다.
- node.js(server)의 내장 http 모듈을 사용
- 브라우저(client) 측에서는 XMLHttpRequest를 사용
isomorphic한 특성
node.js와 브라우저 모두에서 http 요청을 처리할 수 있습니다.
axios.get('/api/data')
.then(response => {
// 성공적으로 응답 받았을 때 처리할 로직
console.log(response.data);
})
.catch(error => {
// 요청이 실패했을 때 처리할 로직
console.error(error);
});
위의 코드에서 axios.get('/api/data')
는 서버로 GET 요청을 보내는 비동기 작업을 시작합니다. 이 작업은 프로미스를 반환하며, .then()
메서드를 사용하여 성공적인 응답을 처리하고 .catch()
메서드를 사용하여 요청이 실패했을 때의 오류를 처리합니다.
이와 같이 프로미스 기반 HTTP 클라이언트는 비동기 작업을 보다 구조적으로 다룰 수 있도록 도와줍니다. 프로미스를 사용하면 요청과 응답의 순서를 명확
하게 표현할 수 있으며, 에러 처리 등의 추가적인 로직
을 쉽게 구현할 수 있습니다.
- 요청과 응답을 가로채고 처리할 수 있습니다.
- 요청과 응답 데이터를 변환할 수 있습니다.
- JSON : application/json
- Multipart / FormData : multipart/form-data
- URL 인코딩된 폼 : application/x-www-form-urlencoded