1. Axios
HTTP 요청과 응답을 쉽게 만들고 처리할 수 있는 라이브러리
npm install axios
2. GET 요청
axios.get() 사용
const axios = require('axios');
// GET 요청
const getUser = async () => {
try {
const url = 'get 요청을 해야하는 url'
const response = await axios.get(url);
// 응답 데이터 출력
console.log(response.data);
} catch (error) {
console.error(error);
}
};
// 함수 호출
getUser();
3. POST 요청
axios.post() 사용
const axios = require('axios');
// POST 요청을 보내는 함수
const postData = async () => {
const data = {
title: 'foo',
body: 'bar',
userId: 1
};
try {
const url='post 요청을 보낼 url'
const response = await axios.post(url, data);
console.log(response.data);
} catch (error) {
console.error(error);
}
};
// 함수 호출
postData();
4. Axios 인터셉터
공통 요청 및 응답 처리 작업을 수행하기 위한 메커니즘
모든 요청 또는 응답을 수정하거나 작업을 수행 가능
요청 인터셉터 (request) : axios 요청이 서버로 전송되기 전에 중간에서 설정 및 작업 할수 있도록 제공해주는 기능
응답 인터셉터 (response) : 서버의 응답을 받고 클라이언트로 반환하기 전에 작업을 처리할 수 있는 기능
// 요청 인터셉터
axios.interceptors.request.use(
(config) => {
// 처리할 작업 실행
config.headers['Content-Type'] = 'application/json';
return config; // 변경된 설정을 반환하여 요청에 적용
},
(error) => {
console.error('Request Error:', error);
// 실패한 promise를 반환해 다른 에러 처리로 사용
return Promise.reject(error);
}
);
// 응답 인터셉터
axios.interceptors.response.use(
(response) => {
// 처리할 작업 실행
console.log('Response:', response);
return response; // 변경된 응답을 반환하여 호출자에게 전달
},
(error) => {
console.error('Response Error:', error);
return Promise.reject(error);
}
);
인터셉터를 통해 개발자가 원하는 작업을 전역적으로 적용할 수 있으며, 중복되는 작업을 최소화하여 프로젝트를 보다 편리하게 진행할 수 있습니다.
반응형
'개발정리 (nodeJS)' 카테고리의 다른 글
[nodeJS] 변수 선언하기 (var, let, const) (0) | 2023.06.19 |
---|---|
[nodeJS] body-parser로 JSON 파싱하기 (0) | 2023.06.17 |
[nodeJS] Multer로 파일 업로드 구현하기 (0) | 2023.06.15 |
[nodeJS] Moment로 날짜, 시간 포맷 바꾸기 (0) | 2023.06.14 |
[nodeJS] Node.js 개발에 흔히 사용되는 라이브러리 5개 (0) | 2023.06.13 |