Introducción a API REST (Gratis) | 1.1 - Bienvenida
Winkler Alfredo Palacios Méjico @winkleralfredopalaciosmejico
API REST
HTTP y API
HTTP | API |
---|---|
HTTP significa Protocolo de Transferencia de Hipertexto | API significa Interfaz de Programación de Aplicaciones |
Se utiliza para enviar y recibir datos entre un servidor y un cliente | Se utiliza para permitir que las aplicaciones se comuniquen entre sí |
Es un protocolo de nivel de aplicación que se ejecuta sobre TCP/IP | Es un conjunto de herramientas y protocolos que permite a las aplicaciones interactuar con un servicio web |
Es un protocolo de solicitud-respuesta | Puede ser usado para acceder y manipular recursos |
Métodos/Verbos HTTP
Método | Descripción |
---|---|
GET | Solicita una representación del recurso especificado |
POST | Envía una entidad a un recurso específico, causando a menudo un cambio en el estado o efectos secundarios en el servidor |
PUT | Reemplaza todas las representaciones actuales del recurso de destino con la carga útil de la solicitud |
DELETE | Borra el recurso especificado |
HEAD | Pide una respuesta de la misma forma que una solicitud GET, pero sin el cuerpo de la respuesta |
OPTIONS | Describe las opciones de comunicación disponibles para el destino |
PATCH | Aplica modificaciones parciales a un recurso |
Definición de API
Una API (Interfaz de Programación de Aplicaciones) es un conjunto de herramientas y protocolos que permite a las aplicaciones interactuar con un servicio web. Las APIs proporcionan un medio estandarizado de comunicación entre diferentes aplicaciones, lo que permite a los desarrolladores crear aplicaciones que puedan funcionar juntas sin necesidad de conocer los detalles internos de cada una.
Ejemplo
Un ejemplo de API es la API de Google Maps, que permite a los desarrolladores integrar mapas de Google en sus propias aplicaciones. Los desarrolladores pueden utilizar la API de Google Maps para solicitar información sobre las ubicaciones, las direcciones y las imágenes de los mapas.
Códigos de respuesta HTTP
Código | Descripción |
---|---|
1xx | Respuestas informativas |
2xx | Respuestas satisfactorias |
3xx | Redirecciones |
4xx | Errores del cliente |
5xx | Errores del servidor |
REST y sus propiedades
Propiedad | Descripción |
---|---|
Cliente-Servidor | El cliente y el servidor deben ser independientes uno del otro |
Sin estado | Cada solicitud debe contener toda la información necesaria para entenderla |
Caché | Las respuestas deben ser explícitas sobre si se pueden almacenar en caché o no |
Sistema en capas | Un cliente no debe poder distinguir si se está conectando directamente al servidor o a un intermediario |
Interfaz uniforme | Las mismas acciones deben tener los mismos nombres en todos los recursos |
Recursos identificables | Cada recurso debe tener una identificación única |
Manipulación de recursos a través de representaciones | Las representaciones de los recursos se utilizan para manipularlos |
Ejemplo
Un ejemplo de REST es la API de Twitter, que permite a los desarrolladores interactuar con los datos de Twitter utilizando los métodos HTTP. Los desarrolladores pueden utilizar la API de Twitter para buscar tweets,