Crea una cuenta o inicia sesión

¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera

¿Qué significa REST? y ¿qué es una API RESTful?

4/19
Recursos

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.

Cómo funciona REST

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:

  • Las interacciones son simples.
  • Los recursos de tu hardware son limitados.

Qué es una API RESTful

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:

  • GET
  • POST
  • PUT
  • DELETE

Estos métodos son empleados por los clientes para crear, manipular y eliminar datos en los servidores, respectivamente.

Elementos de una API RESTful

  • 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.

Qué es una API

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

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

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:

  • REST ( Representational State Transfer)
  • HTTP: HyperText Transfer Protocol
  • URI: Uniform Resource Identifier
  • URL: Uniform Resource Locator

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:

  • Recurso: Una API REST siempre debe indicar a un recurso, ya sea para obtener o crear
  • URI: Debe contener el identificador único universal de recurso
  • Acción: Por último, debe especificar la acción que se hará con el recurso, como crearlo o eliminarlo.
    Este tipo de API suele ser muy efectivo cuando la interacción entre entidades es simple, como solo intercambio de información, sin embargo, no es la única opción que tenemos para crear API, también existen otros tipos de API como SOAP.

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

  • Un cliente realiza una petición HTTP a un servidor
  • Esta petición viaja a través de internet y llega al servidor
  • El servidor interpreta la petición y genera la respuesta
  • Y en algún punto, este servidor determina que no tiene disponibles algunos recursos, así que debe solicitárselos a otro servidor
  • Entonces el servidor genera una nueva petición HTTP
  • Esta nueva petición viaja a través de internet y llega este servidor auxiliar
  • El servidor auxiliar responde con HTTP y envía la respuesta al servidor original
  • Una vez que el servidor tiene la respuesta, continua procesando la respuesta para ahora enviar por internet al cliente

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

  • Las interacciones son simples.
  • Los recursos de tu hardware son limitados.
  • No conviene cuando las interacciones son muy complejas.

Como esta compuesta una peticion REST:

  • URL
  • verbo (get, post, delete, put )

Cuando conviene REST

  • interacciones simples
  • recursos son limitados
    Cuando NO conviene
  • interacciones son complejas
  • Requerimos mas lógica
    Ejemplo: validación de un documento

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

  • Recurso
  • URI: Universal Resource Identifier
  • Acción

Peticion REST

  • URL
  • Verbo HTTP
    – Get
    – Put
    – Post
    – Delete

Cuando usar REST

  • Interacciones simples
  • Recursos limitados
<h3>¿Qué significa REST? y ¿qué es una API RESTful?</h3>

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:

  • Recursos
  • URI (universal resource identifier, o identificadores universales de recursos)
  • Acciones

Así que un petición REST completa se basa en:

  • URL
  • Verbo HTTP

El recurso puede ser cualquier cosa. Depende un poco de la lógica de la aplicación.

Ejemplos de peticiones REST:

  • GET /books/1
  • DELETE /books/50
<h3>Cómo funciona el flujo</h3>
  1. Un cliente realiza una petición HTTP a un servidor
  2. Esta petición viaja a través de internet y llega al servidor
  3. El servidor interpreta la petición y genera la respuesta
  4. Y en algún punto, este servidor determina que no tiene disponibles algunos recursos, así que debe solicitárselos a otro servidor
  5. Entonces el servidor genera una nueva petición HTTP
  6. Esta nueva petición viaja a través de internet y llega este servidor auxiliar
  7. El servidor auxiliar responde con HTTP y envía la respuesta al servidor original
  8. Una vez que el servidor tiene la respuesta, continua procesando la respuesta para ahora enviar por internet al cliente
<h3>Cuándo utilizar REST</h3>
  • Cuando las interacciones son simples, o sea, cuando se quiere es agregar recursos, quitarlos o modificarlos.
  • Cuando los recursos de Hardware son complicados.

❗ 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.

https://freddyerf.medium.com/richardson-maturity-model-para-simples-mortales-bb23ca4a34e5#:~:text=El Richardson Maturity Model califica,restricciones de la arquitectura REST.&text=El Richardson Maturity Model califica las API por su nivel,REST nivel 1 o 2.

¿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

  • Recurso
  • URI
  • Acción

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:

  • Recurso (sobre el que queremos realizar una acción)
  • URI (identificar el recurso)
  • Acción (acción)

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

https://platzi.com/clases/postman/

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

  • 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.

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

  • 200 : la peteción fue exitoso
  • 300: la peticion se redirecciona
  • 400: Existe un error en la petición
  • 500: es un problema con el servidor

Verbos HTTP

  • GET: Obtener un recurso
  • PUT: Modificar un recurso
  • POST: Crear un recurso
  • DELETE: Eliminar un recurso

Que es REST

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.

API RESTful

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.

Peticion 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:

  • Las interacciones son simples.
  • Los recursos de tu hardware son limitados.

No conviene cuando las interacciones son muy complejas.

muy buen video

Muy interesante!

Ejemplo: resources :photos

CRUD, Verbs, and Actions

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:

  • Se pueden guardar los datos en cache
  • El estado no se envía en las peticiones
  • Se pueden crear permisos para la interacción con los datos

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