Comprender los objetivos y pre-requisitos del curso
Qué aprenderás sobre API REST
Qué es una API y para qué sirve
Conocer los conceptos principales de REST
Qué es y cómo funciona el protocolo HTTP
¿Qué significa REST? y ¿qué es una API RESTful?
Aprender a consumir servicios REST
Cómo realizar una petición REST e interpretar sus resultados
Aprender a producir servicios REST
Exponer datos a través de HTTP GET
Exponer un recurso en particular a través de HTTP GET
Incorporar datos a través de HTTP POST
Modificar datos a través de HTTP PUT
Eliminar datos a través de HTTP DELETE
Conocer diferentes modos de restringir el acceso a las API Rest
Autenticación vía HTTP
Autenticación vía HMAC
Autenticación vía Access Tokens
Aprender a tratar errores en la comunicación vía REST
Manejo de errores de un servicio REST
Aprender a utilizar una API Rest para la comunicación FrontEnd/BackEnd
Introducción a Ajax
Get via Ajax
Post via Ajax
Deploy
Conocer buenas prácticas del diseño de APIs REST
7 Buenas prácticas del diseño de APIs RESTful
Crea una cuenta o inicia sesión
¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera
REST es un acrónimo que significa Representational State Transfer o transferencia de estado representacional en español. Le agrega una capa muy delgada de complejidad y abstracción a HTTP. Mientras que HTTP es transferencia de archivos, REST se basa en la transferencia de recursos.
REST es un conjunto de principios que definen la forma en que se deben crear, leer, actualizar y eliminar los datos. Es una arquitectura conocida como cliente-servidor, en la que el servidor y el cliente actúan de forma independiente, siempre y cuando la interfaz sea la misma al procesar una solicitud y una respuesta, que son los elementos esenciales. El servidor expone la API REST y el cliente hace uso de ella. El servidor almacena la información y la pone a disposición del usuario, mientras que el cliente toma la información y la muestra al usuario o la utiliza para realizar posteriores peticiones de más información.
REST es muy útil cuando:
Una API RESTful es una interfaz que utiliza estos principios para comunicarse hacia y desde un servidor. Está diseñada con los conceptos de REST. El principio más importante en las APIs RESTful es el uso de los métodos HTTP:
Estos métodos son empleados por los clientes para crear, manipular y eliminar datos en los servidores, respectivamente.
La palabra API es un acrónimo que significa Interfaz de Programación de Aplicaciones (Application Programming Interface). Es un sistema que funciona como intermediario entre diferentes aplicaciones de software y su función es permitir que estas aplicaciones puedan comunicarse entre sí. Cada vez que usas una app como WhatsApp, Instagram o Facebook, estás usando una API sin saberlo.
Aportes 59
Preguntas 12
Una petición REST completa se basa en:
-URL(Dominio, protocolo)
-verbo HTTP (GET, PUT, POST, DELETE)
¿Cuándo conviene usar REST?
-Interacciones simples (agregar recursos, quitarlos, modificarlos)
-Recursos limitados
¿Cuándo NO conviene usar REST?
-cuando las interacciones son más complejas, ejemplo cuándo necesitamos que el servidor aporte más lógica.
REST permite mandar json, xml, binarios (imágenes, documentos), text, etc. en cambio con SOAP que solo permite la transmisión de datos en formato XML, json es mucho mas liviano y rapido en su procesamiento dado que es interpretado de forma natural por javascript.
REST como SOAP son bastante capaces de atender grandes volúmenes de información, yo creo hay que analizar que es más conveniente para uno, tanto en tiempo de desarrollo, tecnologías y sobre que dispositivos o tipos de APP se van a consumir, SOAP se utiliza mas en aplicaciones financieras.
Algunas Siglas vistas hasta ahora en el curso:
En que casos SI conviene usar REST:
*conviene usarlo cuando las interacciones son simples
donde lo que queremos hacer son las operaciones básicas de crear un recurso, quitar recursos, modificarlos y también cuando los recursos de hardware son limitados, por que como es muy cercano al http no hay más que necesitemos instalar.
cuando NO conviene usar REST:
es cuando las interacciones son un poco más complejas, es decir necesitamos que el servidor aporte más lógica, ejemplo: la validación de algún documento.
Diferencias entre REST y RESTful
REST es una arquitectura para aplicaciones en redes (REpresentational State Transfer). RESTful por otro lado, son programas (a modo de web service o API), basados en REST. Muchas veces se usan ambos terminos como sinonimos.
Apuntes:
Representational State Transfer (o Transferencia de estado representacional), es una capa agregada a HTTP y se basa en el intercambio de recursos, asi como HTTP se basa en el intercambio de archivos.
Una API RESTful, es una API diseñada en base a los conceptos de REST.
Recursos
URIs (URI Universal Resources Identifiers), es decir, el recurso sobre el que queremos realizar la acción.
Acción
Peticion REST
URL (Dominio, Protocolo, etc.)
Verbo HTTP (GET, PUT, POST, DELETE)
RESTful conviene usarse cuando se hacen peticiones simples, cuando los recursos son limitados
Un API REST (Representational State Transfer) es muy similar a una petición HTTP, la diferencia es que esta le agrega una capa mas de complejidad, ya que HTTP solo se encarga de hacer transferencias de archivos mientras una API REST se encarga de transferir recursos, como la información especifica de un elemento de nuestra aplicación.
Un caso de uso muy frecuente es cuando le pedimos a nuestro servidor información de un elemento de nuestra aplicación, como el nombre de usuario de una persona, este podrá buscar en otro servidor donde este la base de datos la información o si ya la tiene en el mismo servidor, este devolverá la información obtenida como respuesta al cliente.
Para que una API sea REST esta debe de funcionar bajo tres conceptos:
URI: los recursos en REST siempre se manipulan a partir de la URI, identificadores uniformes de recursos, Uniform Resource Identifier
URL: Un localizador de recursos uniforme (más conocido por las siglas URL, del inglés Uniform Resource Locator)1 es un identificador de recursos uniforme (Uniform Resource Identifier, URI) cuyos recursos referidos pueden cambiar, esto es, la dirección puede apuntar a recursos variables en el tiempo. Están formados por una secuencia de caracteres de acuerdo a un formato modélico y estándar que designa recursos en una red como, por ejemplo, Internet.
Fragmento extraído de Wikipedia:
Aunque nunca fueron mencionadas como tal en ningún estándar, mucha gente cree que las iniciales LRU significan **universal **—en lugar de uniform— resource locator (localizador universal de recursos). Esto se debe a que en 1990 era así, pero al unirse las normas Functional Recommendations for Internet Resource Locators (RFC 1736) y Functional Requirements for Uniform Resource Names (RFC 1737) pasó a denominarse identificador de recursos uniforme (RFC 2396). Sin embargo, la letra «U» en URL siempre ha significado «Uniforme».
APUNTES DE LA CLASE
REST es un acrónimo de Representational State Transfer o transferencia de estado representacional, le agrega una capa muy delgada de complejidad y abstracción a HTTP. Mientras que HTTP es transferencia de archivos, REST se basa en la transferencia de recursos.
Una API RESTful es una API diseñada con los conceptos de REST:
Recurso: todo dentro de una API RESTful debe ser un recurso.
**URI:**los recursos en REST siempre se manipulan a partir de la URI, identificadores universales de recursos.
**Acción:**todas las peticiones a tu API RESTful deben estar asociadas a uno de los verbos de HTTP: GET para obtener un recurso, POST para escribir un recurso, PUT para modificar un recurso y DELETE para borrarlo.
¿Cuándo conviene usar REST?
-Interacciones simples (agregar recursos, quitarlos, modificarlos)
-Recursos limitados
¿Cuándo NO conviene usar REST?
-cuando las interacciones son más complejas, ejemplo cuándo necesitamos que el servidor aporte más lógica.
REST es muy útil cuando:
Las interacciones son simples.
Los recursos de tu hardware son limitados.
No conviene cuando las interacciones son muy complejas.
Cómo funciona el flujo
Que es mejor curl o wget ?
De esto esta compuesto una URI:
Esquema: nombre que se refiere a una especificación para asignar los identificadores, e.g. urn:, tag:, cid:. En algunos casos también identifica el protocolo de acceso al recurso, por ejemplo http:, mailto:, ftp:, etc.
Autoridad: elemento jerárquico que identifica la autoridad de nombres (por ejemplo //www.example.com).
Ruta: Información usualmente organizada en forma jerárquica, que identifica al recurso en el ámbito del esquema URI y la autoridad de nombres (e.g. /domains/example).
Consulta: Información con estructura no jerárquica (usualmente pares “clave=valor”) que identifica al recurso en el ámbito del esquema URI y la autoridad de nombres. El comienzo de este componente se indica mediante el carácter ‘?’.
Fragmento: Permite identificar una parte del recurso principal, o vista de una representación del mismo.
REST es un acronimo de representational state transfer ( transferencia de estado representacional )
APIRESTFUL = apí creado en base a los conceptos de REST
una peticion se basa en URL que es la url de la peticion y en verbos http que son (get,post,put,delete)
Saludos,
Con respecto a esta observación de servicios REST. “No conviene cuando las interacciones son muy complejas.” La pregunta es:
** ¿Que tecnología utilizar cuando las interacciones son complejas, y claro se cuenta con infraestructura hardware para soportar esas interacciones?**
Gracias, quedo atento.
Características
Como esta compuesta una peticion REST:
Cuando conviene REST
REST
Representational State Transfer
"Cada url único es una representación de un objeto"
Estilo de arquitectura de software enfocado en el intercambio de recursos y basado en HTTP
API RESTful
Api diseñada alrededor de los conceptos de REST
Conceptos de REST
Peticion REST
Cuando usar REST
Rest es un acrónimo de representational state transfer o transferencia de estado representacional. Este es un protocolo que se basada en el intercambio de recursos.
Una API REST es una API que está diseñada alrededor de los conceptos de REST. Los conceptos son:
Así que un petición REST completa se basa en:
El recurso puede ser cualquier cosa. Depende un poco de la lógica de la aplicación.
Ejemplos de peticiones REST:
❗ Cuando necesitemos hacer un interacción más compleja como que el servidor haga una validación a una petición es que Restful nos queda un poco chico.
API: Abstracción de funciones y procedimientos. Una interfaz que nos permite interactuar con otros sistemas o componentes de software.
REST: Estilo de arquitectura de software enfocado en el intercamio de recursos basado en HTTP. Lógia de restricciones y recomendaciones bajo la cual se puede construir un API
RESTful API: Es una iAPI implementada construida bajo la lógica de REST.
HATEOAS: Capacidad que tiene la API de autodescribirse, la paginación por ejemplo.
Model de Madurez de Richardson: El Richardson Maturity Model califica un API en función de su adherencia a las restricciones de la arquitectura REST. Mientras más ajustada sea tu implementación, más arriba en la escala estará. Hay 4 niveles: el primero es 0, el cual designa el menor nivel de implementación y el último es el 3, siendo HATEOAS, que es el que se ajusta más y, por tanto, es RESTful.
¿Qué pasó con HATEOAS? Hypermedia es una parte fundamental de REST. Sin Hypermedia y HATEOAS no hay REST en el sentido técnico y fiel de este estilo de arquitectura.
REST - HATEOAS = RESTish APIs
Son las RESTish APIs la que presentan esa limitación que menciona Mauro al final. Con HATEOAS, una validación como la mencionada es trivial.
¿Quieren saber más y entender por qué esas auto-proclamadas REST APIs no lo son? Lean a los grandes: https://www.crummy.com/writing/speaking/2008-QCon/act3.html
conceptualmente hablando, decir “API REST” y “API RESTful” es lo mismo?, uno está mejor dicho que el otro?
HTTP se basa en el intercambio de archivos y
REST se basa en el intercambio de recursos
archivos: imagenes, archivos .*
recursos: son datos, con los cuales se puede interactuar o consumir haciendo operaciones CRUD en la BD por medio de los métodos HTTP (GET, POST, PUT, DELETE). Todos los recursos tienen un identificador único llamado URI
Una API RESTful es una API diseñada con los conceptos de REST
Que se recomienda hacer cuando las interacciones son complejas?
Acción: todas las peticiones a tu API RESTful deben estar asociadas a uno de los verbos de HTTP: GET para obtener un recurso, POST para escribir un recurso, PUT para modificar un recurso y DELETE para borrarlo
Muy buen curso
Conceptos de REST:
Para los que no están muy familiarizados con esos términos:
Es una arquitectura que provee datos al Backend (Base de datos) mediante el protocolo http, es en un dominio o sitio en internet.
Ejemplo:
http//www.google.com
Si se le agregan direcciones o rutas dentro de la misma página que se comunican con el servidor sin necesidad de recargarte la página.
Ejemplo:
http//www.google.com/usuario/[email protected]
En donde esas rutas el usuario le está diciendo al servidor que se creara un usuario y su correo es [email protected] en donde eso se almacena en una base de datos y basado en la programación este retorna una respuesta la cual posteriormente es graficada en la vista del usuario como creado satisfactoriamente.
creo que api-rest puede ser para proyectos complejos tambien.
Qué es REST: Transferencia de estado representacional. Es una capa agregada a HTTP. Es un un protocolo que se basa en el intercambio de recursos.
Qué es una API RESTful: Es una API diseñada alrededor de los conceptos REST. Se basa en una URL y un verbo Http. Conviene cuando las interacciones son simples y los recursos son limitados.
Habla mas rapidoooooooooooooooooooooooooooooooooooooooooooooooooooooo
Actualmente estoy aprendiendo a utilizar las APIs REST en salesforce para realizar integraciones con otro sistema
Les dejo el enlace de postman por si desean consumir los recursos de una forma gráfica.
[https://www.postman.com/downloads/
y enlace del curso de postman de platzi
4. ¿Qué significa REST? y ¿qué es una API RESTful?
¿Qué es una API?
El término API es una abreviatura de Application Programming Interfaces, que en español significa interfaz de programación de aplicaciones. Se trata de un conjunto de definiciones y protocolos que se utiliza para desarrollar e integrar el software de las aplicaciones, permitiendo la comunicación entre dos aplicaciones de software a través de un conjunto de reglas.
¿Qué es REST?
REST es un acrónimo de Representational State Transfer o transferencia de estado representacional, es un estilo de arquitectura de software enfocado en el intercambio de recursos. Le agrega una capa muy delgada de complejidad y abstracción a HTTP. Mientras que HTTP es transferencia de archivos, REST se basa en la transferencia de recursos.
¿Qué es una API RESTful?
Una API RESTful es una API diseñada con los conceptos de REST
Conceptos de REST
GET para obtener un recurso,
POST para escribir un recurso,
PUT para modificar un recurso y
DELETE para borrarlo.
REST es muy útil cuando:
Las interacciones son simples.
Los recursos de tu hardware son limitados.
No conviene cuando las interacciones son muy complejas.
Tipos Respuesta de servidores cuando se realizan peticiones atráves de una API o no
REST es un acrónimo de Representational State Transfer o transferencia de estado representacional, le agrega una capa muy delgada de complejidad y abstracción a HTTP. Mientras que HTTP es transferencia de archivos, REST se basa en la transferencia de recursos.
Una API RESTful es una API diseñada con los conceptos de REST:
Una Petición REST se basa en decir cual es el Recurso sobre el que queremos realizar una acción, cual es esa acción a realizar y usando el URI saber exactamente a que recurso se vamos a aplicar la Acción
Se usa una URL y un verbo HTTP(GET, PUT, POST, DELETE)
REST es muy útil cuando:
No conviene cuando las interacciones son muy complejas.
muy buen video
Muy interesante!
Muy interesante la teoría, ahora vamos con la practica.
Cuales serian las alternativas a restful como el caso de validación de archivos ?
verbos http: get, post, put, delete
interacciones simples y recursos limitados, ok.
Interesante conocer de manera mas profundo estos conceptos.
super gracias 😃
REST es un acrónimo de Representational State Transfer o transferencia de estado representacional, le agrega una capa muy delgada de complejidad y abstracción a HTTP. Mientras que HTTP es transferencia de archivos, REST se basa en la transferencia de recursos
Recurso: todo dentro de una API RESTful debe ser un recurso
Todo lo qu esta dentro de una api es un recurso, muy interesante
REST es muy útil cuando:
Las interacciones son simples.
Los recursos de tu hardware son limitados.
REST
• Cual es el recurso sobre el cual queremos realizar una acción
• Cuál es la acción que queremos realizar
• Y como lo identificamos a este recurso
Verbos: GET(Obtener recurso) POST(Escribir recurso) PUT(Modificar Recurso) DELETE(Borrar Recurso)
como puedo consumir un api de facebook estimado profesor ?
Qué es REST: Es una arquitectura de software enfocada en el intercambio de recursos y basado en HTTP.
Buena clase
Algunas de las características de REST son:
Las APIs pueden ser locales o Remotas y al ser remotas e implementar Rest en un sercicio Web se estaría hablando de una API RESTful
REST es un estilo de arquitectura de software enfocado en el intercambio de recursos y basado en HTTP.
Una API RESTful es una API que esta diseñada al rededor de los conceptos de REST. (Recurso, URI, Acción).
Petición REST (URL, Verbo HTTP).
Cuando conviene usar REST? Interacciones simples, recursos de hardware limitados.
Excelente…
EXCELENTE EXPLICACION
Vale, prácticamente REST Es el método con el que desarrollamos la API, que se basa en recursos, hay información más detallada de qué es un recurso en el curso de Postman, pero prácticamente son objetos, el objeto curso, el objeto comentario, el objeto material, etc.
Las API REST Se basan en estos recursos, en la URI en la cual se aloja dicho objeto, por ejemplo:
/courses
/comments/1
/materials
Y por último la acción, que es cuál acción voy a ejecutar sobre esa URI y ese recurso, por ejemplo, Crear, Actualizar, Obtener o Eliminar (El típico CRUD) y para ello usamos los verbos HTTP:
GET
POST
PUT
PATCH
DELETE
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.