¿Es una API RESTful un programa perezoso o uno que inicia un estado de suspensión? Si estás interesado en la web y cómo funcionan las diversas tecnologías detrás de ella, seguramente quieras saber acerca de la API RESTful.
¿Qué es una API?
Una API es una interfaz de programación de aplicaciones que puede ser muchas cosas para muchos programadores. Esencialmente, la API es el intermediario que me permite conectar un programa a otro.
Muchos programadores y desarrolladores ocultan su código central para evitar que otros roben su arduo trabajo. Si queremos que otros programas funcionen con nuestro programa, también necesitamos tener algún código disponible para permitir esa interacción. Ahí es donde entran las API. Podemos crear API que permitan que otros programas interactúen con nuestras creaciones y brinden funciones e interacciones adicionales.
Una API está escrita con una estructura específica que está formateada de cierta manera para que el recurso la entienda y tampoco use demasiados recursos. Varios sitios web, programas y plataformas utilizan API, como Facebook, YouTube, Google Maps, Android e iOS. Además, el software más notable casi siempre utiliza una interfaz de programación. Una API es una forma valiosa de agregar funciones sin liberar el código y la estructura de nuestro programa.
¿Cómo se utilizan las API?
Si quisiera crear un conjunto de filtros de cámara para un teléfono, usaría la API de cámara de Apple o Android para utilizar las funciones de su cámara en lugar de crear las mías propias.
La alternativa sería crear un software de cámara para cada sistema operativo, lo cual es mucho trabajo. En su lugar, creo una API que puede hablar con el software de mi cámara existente y enviar mis datos de filtro hacia y desde él.
Las API también se pueden usar para acceder a los recursos del sistema, interactuar con otros sistemas, proporcionar funciones de valor agregado a los navegadores y mucho más. Solo recuerda que una API es un fragmento de código que se comunica con otros programas, y eso debería de estar bien.
Otro ejemplo de cómo se utilizan las API es Google Maps. Si quiero agregar un mapa de Google a mi sitio web que muestre mi ubicación, configuro una API de Google Maps con una consulta HTTP GET para extraer el mapa de Google.
De esa manera, obtengo lo que quiero sin que Google tenga que hacer nada ni permitir el acceso a las partes internas de su plataforma de mapas.
Mediante el uso de una API, los servidores de Google Maps pueden atender millones de consultas en un corto período de tiempo sin sobrecargar el servidor de mapas. Las consultas de la API están estructuradas correctamente para satisfacer las necesidades utilizando recursos mínimos. La API RESTful garantiza que no se pueda escribir nada en la base de datos y no deja rastro, dejando que el servidor de mapas pase a la siguiente consulta.
API RESTful definida
REST significa Transferencia de estado representacional. Se utiliza una API RESTful para transferir datos de un recurso a un cliente. Por ejemplo, un motor de búsqueda utiliza un tipo de API RESTful.
Introduzco un término de búsqueda y el motor consulta los servidores. Los servidores transfieren los datos correlacionados a mi navegador para que los utilice. Así es como funciona la API RESTful.
Ya sabemos que una API permite que los programas externos interactúen con otras aplicaciones específicas. Una API RESTful permite que un programa independiente se comunique con una base de datos completamente separada, como en el ejemplo del motor de búsqueda anterior.
Cómo funciona la API RESTful
Lo que hace que una API RESTful funcione es que no tiene estado y se puede almacenar en caché. Sin estado significa que la consulta realizada por una API RESTful no tiene impacto en la base de datos. Además, la consulta no se registra (siempre). Nada se almacena en la base de datos y no se puede escribir en la base de datos. Es esencialmente un procedimiento de solo lectura.
Ser almacenable en caché significa que el cliente API puede almacenar la información para uso futuro, por lo que no tiene que consultar la base de datos cada vez.
Para la web, lo más probable es que la API utilice el método HTTP para procesar una solicitud. Los métodos HTTP comunes son GET, POST, PUT y DELETE. En el ejemplo del motor de búsqueda, la API RESTful usaría el método HTTP para OBTENER los datos de mi consulta de búsqueda de la base de datos del motor de búsqueda y mostrar los resultados de la búsqueda.
Otro ejemplo sería una encuesta de usuarios de Twitter. Si pongo la URL www.twitter.com/realDonaldTrump en un navegador, el navegador utilizará HTTP para OBTENER los datos de Donald Trump de Twitter y mostrarlos para mí. Dado que los nombres de usuario de Twitter son únicos, la consulta devolverá los detalles a mi navegador.
La API RESTful es una forma muy elegante de compartir información sin afectar el rendimiento del servidor ni revelar demasiado. Este tutorial solo toca la superficie de cómo funcionan e integran con la web, pero debería darte una idea básica de cómo funcionan las API RESTful.