자바스크립트 Fetch API, 네트워크 요청과 응답 관리
웹 애플리케이션 개발에서 서버와의 비동기 통신은 매우 중요합니다. Fetch API
는 이러한 비동기 통신을 단순하고 유연하게 처리할 수 있도록 도와주는 최신 자바스크립트 API입니다. 이 글에서는 Fetch API
의 기본 사용법부터 고급 활용법까지 살펴보겠습니다.
Fetch API란?
Fetch API
는 자바스크립트를 사용하여 네트워크 요청을 보내고 응답을 처리하는 인터페이스입니다. 이 API는 프로미스를 기반으로 설계되어 비동기 작업을 더욱 간편하게 관리할 수 있습니다.
기본 사용법
fetch
함수는 네트워크 요청을 보내고 프로미스를 반환합니다. 기본 사용법은 매우 간단합니다.
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
위 코드에서는 https://api.example.com/data
로 GET 요청을 보내고, 응답을 JSON으로 파싱하여 콘솔에 출력합니다.
요청 설정하기
fetch
함수는 두 번째 인자로 옵션 객체를 받아 요청을 설정할 수 있습니다.
fetch('https://api.example.com/data', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ key: 'value' })
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
위 코드에서는 POST 요청을 보내고, JSON 형식의 데이터를 서버로 전송합니다.
응답 처리하기
응답 객체는 HTTP 응답에 대한 다양한 정보를 담고 있습니다. 이를 통해 상태 코드, 헤더 등을 확인할 수 있습니다.
fetch('https://api.example.com/data')
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
위 코드에서는 응답 상태를 확인하고, 에러가 발생하면 예외를 던집니다.
에러 처리
fetch
요청에서 발생하는 에러를 처리하기 위해 catch
블록을 사용할 수 있습니다.
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Fetch error:', error));
위 코드에서는 네트워크 요청 중 발생한 모든 에러를 처리하고, 콘솔에 에러 메시지를 출력합니다.
고급 사용법
Fetch API
는 쿠키, 인증 헤더 등을 포함한 다양한 고급 기능을 지원합니다. 예를 들어, 인증 토큰을 포함하여 요청을 보낼 수 있습니다.
fetch('https://api.example.com/data', {
headers: {
'Authorization': 'Bearer YOUR_TOKEN_HERE'
}
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
위 코드에서는 인증 토큰을 헤더에 포함하여 요청을 보내고, 응답을 처리합니다.
결론
Fetch API
는 자바스크립트로 네트워크 요청을 관리하는 강력하고 유연한 방법을 제공합니다. 기본 사용법에서부터 고급 기능까지 숙지하면 다양한 네트워크 작업을 효율적으로 처리할 수 있습니다. 이 가이드를 통해 Fetch API
를 활용하여 웹 애플리케이션을 더욱 향상시킬 수 있기를 바랍니다.
'프로그래밍 언어 > 자바스크립트' 카테고리의 다른 글
자바스크립트 WebSockets, 실시간 통신 구현하기 (0) | 2024.08.15 |
---|---|
자바스크립트 AJAX, 비동기 웹 요청 처리 (0) | 2024.08.14 |
자바스크립트 브라우저 스토리지, 데이터 저장과 관리 (0) | 2024.08.12 |
JavaScript 비동기 프로그래밍 기초 개념과 실습 예제 (0) | 2024.08.11 |
자바스크립트 DOM 폼 처리, 입력 값 가져오기와 유효성 검사 (0) | 2024.08.10 |