자바스크립트 fetch API를 사용하여 데이터 가져오기

자바스크립트(fetch API)는 웹 애플리케이션에서 서버로부터 데이터를 가져오는 데 사용되는 강력한 기술입니다. 이를 통해 비동기적으로 서버와 통신하여 데이터를 가져올 수 있으며, 이는 웹 애플리케이션의 성능을 향상시키고 사용자 경험을 개선하는 데 도움이 됩니다.

fetch API란?

fetch API는 네트워크 요청을 수행하기 위한 JavaScript 인터페이스입니다. 이를 사용하면 웹 애플리케이션에서 서버로 HTTP 요청을 보내고, 응답을 받아오는 것이 가능해집니다. 이전에는 주로 XMLHttpRequest를 사용하여 데이터를 가져왔지만, fetch API는 이를 대체하는 더 간결하고 강력한 대안입니다.

fetch API를 사용하여 데이터 가져오기

fetch API를 사용하여 데이터를 가져오는 방법은 간단합니다. 아래는 fetch API를 사용하여 데이터를 가져오는 예제 코드입니다.

fetch('https://api.example.com/data')
  .then(response => response.json())
  .then(data => {
    // 데이터를 성공적으로 가져온 후에 수행할 작업
    console.log(data);
  })
  .catch(error => {
    // 데이터 가져오기에 실패한 경우 수행할 작업
    console.error('Error:', error);
  });

위의 코드에서, fetch 함수는 URL을 인수로 받아서 해당 URL에 GET 요청을 보내고 응답을 Promise 객체로 반환합니다. 그러면 .then() 메서드를 사용하여 응답 데이터를 JSON 형식으로 파싱한 다음 사용할 수 있습니다. 성공적인 경우, 데이터를 처리하는 코드가 첫 번째 .then() 블록에서 실행되고, 실패한 경우 두 번째 .catch() 블록에서 오류 처리 코드가 실행됩니다.

fetch API를 활용한 추가 기능

fetch API는 다양한 추가 기능을 제공하여 데이터 가져오기 과정을 더욱 유연하게 만들어줍니다.

Request 메서드

fetch 함수는 두 번째 매개변수로 Request 객체를 전달할 수 있습니다. Request 객체를 사용하여 HTTP 요청을 커스터마이즈하거나 특정 헤더를 추가할 수 있습니다.

const request = new Request('https://api.example.com/data', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer token123'
  },
  body: JSON.stringify({ key: 'value' })
});

fetch(request)
  .then(response => response.json())
  .then(data => {
    // 데이터를 성공적으로 가져온 후에 수행할 작업
    console.log(data);
  })
  .catch(error => {
    // 데이터 가져오기에 실패한 경우 수행할 작업
    console.error('Error:', error);
  });

REST API 호출

fetch API를 사용하여 RESTful API를 호출하는 것도 가능합니다. 각각의 요청 메서드(GET, POST, PUT, DELETE 등)를 사용하고 필요한 매개변수와 데이터를 전송하면 됩니다.

// GET 요청
fetch('https://api.example.com/data', {
  method: 'GET'
})

// POST 요청
fetch('https://api.example.com/data', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ key: 'value' })
})

// PUT 요청
fetch('https://api.example.com/data/123', {
  method: 'PUT',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ key: 'updatedValue' })
})

// DELETE 요청
fetch('https://api.example.com/data/123', {
  method: 'DELETE'
})

결론

자바스크립트 fetch API를 사용하여 데이터를 가져오는 것은 간단하면서도 강력한 방법입니다. 이를 활용하여 웹 애플리케이션에서 서버와 통신할 수 있으며, RESTful API 호출이나 자세한 요청 설정과 같은 다양한 기능을 추가할 수 있습니다. 이를 통해 웹 애플리케이션의 성능을 향상시키고 사용자 경험을 개선하는 데 도움이 될 수 있습니다.