¿Cómo funciona la API Fetch?

| Última modificación: 8 de abril de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

En el mundo del desarrollo web, la comunicación entre el cliente y el servidor es fundamental. Una de las formas más comunes de lograr esta comunicación es a través de la API Fetch. Pero ¿cómo funciona realmente? En este artículo, exploraremos los entresijos de la API Fetch y cómo puedes utilizarla para realizar peticiones HTTP y obtener respuestas del servidor.

Introducción a la API Fetch

La API Fetch es una característica moderna que se encuentra en los navegadores web y proporciona una forma más flexible y poderosa de hacer peticiones HTTP desde el cliente. Antes de la aparición de la API Fetch, los desarrolladores solían utilizar métodos más antiguos, como XMLHttpRequest, que tenían una sintaxis más complicada y menos intuitiva.

La API Fetch simplifica este proceso al ofrecer una interfaz basada en promesas que facilita la realización de peticiones HTTP y el manejo de las respuestas.

Utilizando el método Fetch

El punto de entrada principal de la API Fetch es la función fetch(). Este método acepta al menos un argumento, que es la URL de la solicitud. Puedes usar el método Fetch para realizar solicitudes GET de manera predeterminada:

fetch('https://api.example.com/data')
  .then(response => {
    // Manejar la respuesta del servidor
  })
  .catch(error => {
    // Manejar el fallo de red o errores HTTP
  });

El método Fetch devuelve una promesa que resuelve en un objeto Response. La promesa se resuelve incluso si la solicitud devuelve un error HTTP, como un código 404 o 500. Por lo tanto, es necesario comprobar el estado de la respuesta dentro de la función then() y manejarla en consecuencia.

Realizando peticiones POST

Además de las solicitudes GET, también puedes utilizar Fetch para realizar solicitudes POST. Para ello, necesitarás proporcionar un segundo argumento opcional, que incluye las opciones de la solicitud, como el método y los encabezados. Por ejemplo:

fetch('https://api.example.com/data', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ name: 'John Doe' })
})
  .then(response => {
    // Manejar la respuesta del servidor
  })
  .catch(error => {
    // Manejar el fallo de red o errores HTTP
  });

En este ejemplo, se está realizando una solicitud POST a la URL especificada y se está enviando un objeto JSON en el cuerpo de la solicitud utilizando el método JSON.stringify().

Trabajando con la respuesta

Una vez se recibe la respuesta del servidor, puedes acceder a diferentes propiedades y métodos proporcionados por el objeto Response. Algunos de los más comunes son:

  • response.status: el código de estado HTTP de la respuesta.
  • response.statusText: el texto descriptivo asociado al código de estado.
  • response.ok: un valor booleano que indica si la respuesta fue exitosa (código de estado en el rango 200-299) o no.
  • response.json(): un método que devuelve una promesa que resuelve en los datos de la respuesta analizados como JSON.

Puedes utilizar estas propiedades y métodos para realizar diferentes acciones dependiendo de la respuesta del servidor. Por ejemplo, puedes mostrarle un mensaje de éxito al usuario si la solicitud se completó correctamente o mostrar un mensaje de error si ocurrió algún problema.

Fetch

Control de acceso y seguridad

Es importante tener en cuenta que la API Fech está sujeta a políticas de control de acceso (CORS) para garantizar la seguridad de las aplicaciones web. Esto significa que, por defecto, solo puedes hacer solicitudes al mismo origen (same origin) desde donde se sirve la página.

Si necesitas hacer solicitudes a un origen diferente, debes asegurarte de que el servidor permita el acceso a través de los encabezados adecuados. Esto se puede lograr configurando los encabezados Access-Control-Allow-Origin en el servidor.

¿Quieres seguir aprendiendo sobre desarrollo web?

La API Fetch proporciona una forma moderna y fácil de realizar peticiones HTTP desde el cliente en el desarrollo web. Su interfaz basada en promesas simplifica el proceso y permite un manejo más flexible de las respuestas del servidor. Utilizando el método Fetch, puedes realizar solicitudes GET y POST y acceder a diferentes propiedades y métodos del objeto Response para trabajar con la respuesta del servidor.

Si estás interesado en convertirte en un profesional de desarrollo web, el Desarrollo Web Full Stack Bootcamp de KeepCoding es el programa perfecto para ti. Con este bootcamp, aprenderás mucho más que el funcionamiento de la API Fetch, ya que también te formarás en todas las tecnologías y herramientas modernas utilizadas en la industria. ¡No pierdas la oportunidad de cambiar tu vida e inscríbete hoy mismo!

Alberto Casero

Alberto Casero es CTO en Watium, Fundador de Kas Factory & Coordinador del Bootcamp en Desarrollo Web.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo Web

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado