0% encontró este documento útil (0 votos)
11 vistas22 páginas

Clase 28 API

Las API son interfaces que permiten la comunicación entre diferentes componentes de software mediante definiciones y protocolos. Existen varios tipos de API, como SOAP, RPC, WebSocket y REST, cada una con características y beneficios específicos, siendo REST la más popular por su flexibilidad y facilidad de integración. Además, se discute el uso de promesas en programación asincrónica y se presenta el paquete Node.js 'node-fetch' para consumir APIs de manera eficiente.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
11 vistas22 páginas

Clase 28 API

Las API son interfaces que permiten la comunicación entre diferentes componentes de software mediante definiciones y protocolos. Existen varios tipos de API, como SOAP, RPC, WebSocket y REST, cada una con características y beneficios específicos, siendo REST la más popular por su flexibilidad y facilidad de integración. Además, se discute el uso de promesas en programación asincrónica y se presenta el paquete Node.js 'node-fetch' para consumir APIs de manera eficiente.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 22

Clase 28

API
¿Ponemos a grabar
la clase?
API
¿Qué es una API?

Las API son mecanismos que permiten


a dos componentes de software
comunicarse entre sí mediante un
conjunto de definiciones y protocolos.
Por ejemplo, el sistema de software del
instituto de meteorología contiene
datos meteorológicos diarios. La
aplicación meteorológica de tu teléfono
“habla” con este sistema a través de
las API y te muestra las actualizaciones
meteorológicas diarias en el teléfono.
¿Qué significa API?

API significa “interfaz de programación


de aplicaciones”. En el contexto de las
API, la palabra aplicación se refiere a
cualquier software con una función
distinta. La interfaz puede
considerarse como un contrato de
servicio entre dos aplicaciones. Este
contrato define cómo se comunican
entre sí mediante solicitudes y
respuestas. La documentación de una
API contiene información sobre cómo
los desarrolladores deben estructurar
esas solicitudes y respuestas.
¿Cómo funcionan las Api?
La arquitectura de las API suele explicarse en términos de cliente y servidor. La aplicación que envía la
solicitud se llama cliente, y la que envía la respuesta se llama servidor. Las API pueden funcionar de cuatro
maneras diferentes, según el momento y el motivo de su creación.
API de SOAP
Estas API utilizan el protocolo simple de acceso a objetos. El cliente y el servidor intercambian mensajes
mediante XML. Se trata de una API menos flexible que era más popular en el pasado.
API de RPC
Estas API se denominan llamadas a procedimientos remotos. El cliente completa una función (o
procedimiento) en el servidor, y el servidor devuelve el resultado al cliente.
API de WebSocket
La API de WebSocket es otro desarrollo moderno de la API web que utiliza objetos JSON para transmitir
datos. La API de WebSocket admite la comunicación bidireccional entre las aplicaciones cliente y el servidor.
El servidor puede enviar mensajes de devolución de llamadas a los clientes conectados, por lo que es más
eficiente que la API de REST.
API de REST
Estas son las API más populares y flexibles que se encuentran en la web actualmente. El cliente envía las
solicitudes al servidor como datos. El servidor utiliza esta entrada del cliente para iniciar funciones internas y
devuelve los datos de salida al cliente. Veamos las API de REST con más detalle a continuación.
API REST
REST significa transferencia de estado
representacional. REST define un conjunto de
funciones como GET, PUT, DELETE, etc. que
los clientes pueden utilizar para acceder a los
datos del servidor. Los clientes y los
servidores intercambian datos mediante HTTP.
La principal característica de la API de REST es
que no tiene estado. La ausencia de estado
significa que los servidores no guardan los
datos del cliente entre las solicitudes. Las
solicitudes de los clientes al servidor son
similares a las URL que se escriben en el
navegador para visitar un sitio web. La
respuesta del servidor son datos simples, sin
la típica representación gráfica de una página
web.
API REST
Las API de REST ofrecen cuatro beneficios principales:

1. Integración
Las API se utilizan para integrar nuevas aplicaciones con los sistemas de software existentes. Esto aumenta la
velocidad de desarrollo, ya que no hay que escribir cada funcionalidad desde cero. Puede utilizar las API para
aprovechar el código existente.
2. Innovación
Sectores enteros pueden cambiar con la llegada de una nueva aplicación. Las empresas deben responder con
rapidez y respaldar la rápida implementación de servicios innovadores. Para ello, pueden hacer cambios en la API
sin tener que reescribir todo el código.
3. Ampliación
Las API presentan una oportunidad única para que las empresas satisfagan las necesidades de sus clientes en
diferentes plataformas. Por ejemplo, la API de mapas permite la integración de información de los mapas en sitios
web, Android, iOS, etc. Cualquier empresa puede dar un acceso similar a sus bases de datos internas mediante el
uso de API gratuitas o de pago.
4. Facilidad de mantenimiento
La API actúa como una puerta de enlace entre dos sistemas. Cada sistema está obligado a hacer cambios internos
para que la API no se vea afectada. De este modo, cualquier cambio futuro que haga una de las partes en el código
no afectará a la otra.
API Ejemplo
Asincronismo - Promesas

Cuando hablamos de promesas en


programación, evocamos la posibilidad que
tenemos de hacer cosas mientras pedimos que
otras cosas se resuelvan. Son un concepto para
resolver el problema de asincronía.
Una promesa es algo que, en principio
pensamos que se cumplirá, pero en el futuro
pueden ocurrir varias cosas:

• La promesa se cumple (promesa


resuelta)
• La promesa no se cumple (promesa se
rechaza)
• La promesa se queda en un estado
incierto indefinidamente (promesa
pendiente)

Dentro de este esquema nos movemos con el


consumo de las apis.
Node Fetch

Al momento de consumir una API de terceros desde nuestro “back-end”, debemos


entender que la misma se consumirá a partir de pedidos asincrónicos. En ellos podremos
saber en qué momento se envía la petición al servidor de la API, pero no contar con la
certeza del momento exacto de cuándo obtendremos la respuesta.

Para poder llevar a cabo este tipo de pedidos desde el back-end, tendremos que utilizar
un paquete de Node.js llamado node-fetch. Este, tras haber sido instalado desde npm,
nos dará todas las facultades necesarias para poder hacer llamados asincrónicos a una
API externa.

Instalación
Documentación
npm i node-fetch oficial aquí
Node Fetch - Implementación
Partes principales de la función fetch:

fetch(“url”)
.then() //para cuando la promesa se resuelva. Utilizar
callback que recibe la respuesta que nos da la api,
tomarla, y convertirla de formato json a un objeto.
.then() //para cuando la información llegue
.catch() //captura errores si los hay
Node Fetch - Ejemplo

Utilizando la api gratuita reqres, completaremos la función:

fetch(“https://reqres.in/api/users”);
.then((response) => response.json())
.then((data) => {
console.log(data));
})
.catch((error) => {
console.log(error);
});
Documentación
oficial aquí
Node Fetch - Ejemplo
En las dev tools podremos ver toda la información que estamos
obteniendo desde el fetch:
Node Fetch - Ejemplo

Es necesario especificarle al fetch qué datos


exactamente queremos obtener, para que
veamos solamente lo necesario, y podamos
trabajar con esos datos.

fetch(“https://reqres.in/api/users”);
.then((response) => response.json())
.then((data) => {
const users = data.data
console.log(users)
})
.catch((error) => {
console.log(error);
});
Lista de API

Te compartimos algunas API para


que puedas probar!

-Recetas:
https://www.edamam.com/

-Pokemon
https://pokeapi.co/

-Star Wars
https://swapi.dev/

-Peliculas
https://www.themoviedb.org/docum
entation/api
Descanso
Nos vemos en 15 minutos
¿Vamos a la
práctica?
¡A practicar!
Elegir una de las API mencionadas
anteriormente, e intentar obtener información de
ellas en la consola.
Para esto, será importante que puedas analizar
la documentación oficial de la API que elijas, y
entender qué datos te ofrece, y de qué manera
se los puede requerir.
Bonus: Si te animás, mostrá los datos en la web,
insertándolos en una estructura HTML.
Presentación
Espacio para compartir la actividad
práctica.
Cierre
¿Preguntas?
¡MUCHAS GRACIAS!

También podría gustarte