[Axios] Axios 사용법
글 작성자: 망고좋아
반응형
🎯 Axios 사용법
- 웹 브라우저와 Node.js를 위한 HTTP 비동기(작성된 순서대로 실행되지 않는 처리) 통신 라이브러리이다.
- 백엔드와 프론트엔드 간 통신을 쉽게 하기 위해 사용되는 것으로 Ajax처럼 사용되는 것
- 비동기 통신 라이브러리를 사용하지 않으면 모든 코드가 순차적으로 처리되어야 하므로 코드의 순서를 신경 써서 작성해야 한다.
- React에서 OpenAPI를 이용한 통신을 할 때 Axios를 주로 사용
📝 Fetch vs Axios
- Fetch와 Axios 둘 다 HTTP 요청을 처리하기 위한 자바스크립트의 라이브러리이다.
- Fetch의 경우 자바스크립트에 내장되어 있기 때문에 별도의 import나 설치가 필요하지 않다.
- Axios의 경우 설치 과정이 필요하다.
- Fetch는 일부 예전의 인터넷 익스플로러 버전에서 지원하지 않는 경우가 있어, Axios가 Fetch보다 브라우저 호환성이 뛰어나다.
- Fetch에서는 지원하지 않는 JSON 자동 변환, 응답 시간 초과 설정 기능 등을 Axios에서 지원해준다.
- 자신의 개발 상황(지원하는 브라우저, 기타 다른 패키지 등등)에 맞는 라이브러리를 선택하는 것이 필요하다.
📝 Axios CDN
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
📝 Axios POST - Create
axios.post(url, data 객체)
- POST는 새로운 자원을 생성할 때 사용한다. ⇒ Create
🛠 예제 코드
function axiosPost() {
const token = document.getElementById("token");
const loginData = { "email": "eve.holt@reqres.in", "password": "cityslicka" };
axios.post('https://reqres.in/api/login', loginData)
.then(response => {
console.log(response)
token.innerHTML = response.data.token;
});
}
export default axiosPost;
- 올바른 이메일과 비밀번호로 POST 요청을 보내면 적절한 토큰 값을 반환해준다.
axios.post()
사용하고 .then을 이용하면 요청에 성공했을 때 반환되는 값을 얻을 수 있다.response
객체는 반환되는 데이터, HTTP 상태 코드, 헤더 정보 등 여러 정보를 가지고 있다.- 데이터 정보를 얻고 싶으면
response.data
- HTTP 상태 코드를 얻고 싶으면
response.status
📝 Axios GET - Read
axios.get(url)
- GET은 자원을 요청할 때 사용한다. ⇒ Read
🛠 예제 코드
function axiosGet() {
const name = document.getElementById("name");
const email = document.getElementById("email");
axios.get('https://reqres.in/api/users/2')
.then(response => {
console.log(response.data.data)
name.innerHTML = `${response.data.data.first_name} ${response.data.data.last_name}`
email.innerHTML = response.data.data.email
})
}
export default axiosGet;
📝 Axios PUT - Update
axios.put(url, data 객체)
- PUT은 자원을 갱신할 때 사용한다. ⇒ Update
🛠 예제 코드
function axiosPut() {
const name = document.getElementById("name");
const email = document.getElementById("email");
const updateDate = document.getElementById("update_date");
const updateDataObj = { "first_name": "White", "last_name": "Rabbit" , "email": "alice@elice.io" };
axios.put('https://reqres.in/api/users/2', updateDataObj)
.then(response => {
name.innerHTML = `${response.data.first_name} ${response.data.last_name}`;
email.innerHTML = response.data.email;
updateDate.innerHTML = new Date()
})
}
export default axiosPut;
- 데이터의 전체가 아닌 일부 데이터만 수정하고 싶다면
axios.patch()
를 이용할 수 있다.PATCH
는 넘겨준 데이터만 변경되고 기존 데이터는 유지된다.
📝 Axios DELETE - Delete
axios.delete(url)
- DELETE는 자원을 삭제할 때 사용한다. ⇒ Delete
🛠 예제 코드
function axiosDelete() {
const status = document.getElementById("status");
axios.delete('https://reqres.in/api/users/2')
.then(response => status.innerHTML = response.status)
}
export default axiosDelete;
- 삭제 후 별다른 데이터를 넘겨주지는 않기 때문에 이번에는 HTTP 응답 코드를 통해 요청이 잘 되었는지 확인해보자.
📌 참고
반응형
'프로그래밍 > etc' 카테고리의 다른 글
[WEB] SSR과 CSR 차이점 (0) | 2022.01.19 |
---|---|
[Sass] Sass 맛보기 (0) | 2022.01.11 |
[Prettier] Delete `␍`eslintprettier/prettier 오류 해결 방법 (0) | 2021.12.01 |
[Prettier] Prettier 설치하기, 설정 방법 (0) | 2021.12.01 |
[ESLint] ESLint 설치하기, 설정 방법 (0) | 2021.12.01 |
댓글
이 글 공유하기
다른 글
-
[Sass] Sass 맛보기
[Sass] Sass 맛보기
2022.01.11 -
[Prettier] Delete `␍`eslintprettier/prettier 오류 해결 방법
[Prettier] Delete `␍`eslintprettier/prettier 오류 해결 방법
2021.12.01 -
[Prettier] Prettier 설치하기, 설정 방법
[Prettier] Prettier 설치하기, 설정 방법
2021.12.01 -
[ESLint] ESLint 설치하기, 설정 방법
[ESLint] ESLint 설치하기, 설정 방법
2021.12.01