preloader

Fetch API en JavaScript: Cómo Consumir una API REST

Consumiendo una API en JavaScript con Fetch

Consumir datos de una API REST en JavaScript es una tarea común y sencilla gracias a la interfaz Fetch, que reemplaza al antiguo XMLHttpRequest y ofrece una sintaxis basada en promesas, más simple que los callbacks.

Realizando una petición GET

Para hacer una solicitud GET utilizando Fetch, simplemente especificamos la URL de la API:

				
					fetch("https://example.com/posts.json")
  .then(response => response.json())
  .then(data => console.log(data));

				
			

En este ejemplo:

  • fetch devuelve una promesa que resuelve la respuesta del servidor.
  • Usamos response.json() para parsear la respuesta JSON devuelta por el servidor.
  • Finalmente, utilizamos otra promesa para manejar los datos obtenidos (data), que luego mostramos en la consola.

Métodos disponibles según el tipo de datos

Fetch proporciona métodos adicionales dependiendo del tipo de datos que se espere recibir:

  • blob(): Para objetos binarios grandes.
  • arraybuffer(): Para datos en formato de buffer genérico.
  • json(): Para datos en formato JSON (el más común).
  • text(): Para datos en formato de texto plano.
  • formData(): Para parsear datos como un objeto FormData.

Manejo de la respuesta del servidor

Es posible verificar si la respuesta del servidor fue exitosa utilizando la propiedad ok:

				
					fetch("https://example.com/posts.json")
  .then(response => {
    if (response.ok) console.log("Respuesta correcta del servidor");
  });

				
			

Utilizando async/await con Fetch

Para una estructura más concisa y legible, podemos utilizar async/await con Fetch:

				
					async function fetchData() {
  try {
    const response = await fetch("https://example.com/posts.json");
    if (!response.ok) {
      throw new Error("Error al obtener los datos");
    }
    const data = await response.json();
    console.log(data);
  } catch (error) {
    console.error(error);
  }
}

fetchData();

				
			

Enviando datos con Fetch

Fetch permite enviar datos utilizando otros métodos HTTP además de GET, como POST, PUT, DELETE, entre otros. Podemos especificar el método, las cabeceras y el cuerpo de la petición:

				
					const data = { username: 'example', password: 'example' };

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify(data)
});

				
			

En este ejemplo, estamos enviando datos en formato JSON al servidor utilizando el método POST.

Con estas capacidades, Fetch se convierte en una herramienta poderosa para interactuar con APIs REST de manera eficiente y moderna en aplicaciones web desarrolladas con JavaScript.

Related Post

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *