REST REST

REST es una forma de diseñar API web en la que cada elemento recibe su propia dirección, sobre la que se actúa con las mismas pocas acciones estándar.

También conocido como API REST API RESTful servicio web REST

Definición

REST es un estilo para construir una API, y una API es sencillamente la manera en que un programa le pide información a otro. La regla de REST cabe en una sola línea. Cada elemento que guarda el sistema recibe su propia dirección web, y se actúa sobre esa dirección con las mismas pocas acciones estándar que la web ya usa.

Imagine la lista de pacientes de una clínica, donde una dirección significa todos los pacientes. La misma dirección con un número al final significa un paciente concreto, y esa es toda la idea. Para leer ese paciente el programa envía una petición de lectura, y para añadir uno nuevo, una de creación. Para sustituir la ficha envía una de reemplazo, y para borrarla, una de borrado. Esos cuatro verbos no los inventó el programa de la clínica, porque son las instrucciones normales que cualquier navegador envía ya.

La ventaja es que todo se puede adivinar. Un programador que ha usado una API REST suele entender la siguiente sin leer un manual, y eso le ahorra dinero de verdad. Conectar a un proveedor nuevo lleva menos tiempo, y quien herede su sistema dentro de tres años no tendrá que aprender un idioma privado que inventó alguien. Solo por eso, la mayoría de las aplicaciones web que construye Linkysoft hablan REST.

REST tiene un punto débil que la gente descubre tarde, porque cada dirección devuelve un solo tipo de cosa. Una pantalla que muestra un paciente, sus diez últimas visitas y sus facturas pendientes puede necesitar tres o cuatro peticiones distintas. En la conexión de la oficina nadie lo nota, pero en un móvil con una raya de cobertura es la diferencia entre una pantalla que abre y otra que se rinde. Por eso, cuando construimos una aplicación móvil, solemos añadir una dirección extra que devuelve la pantalla entera en una sola respuesta. Las direcciones normales se quedan como están para todo lo demás.

Una cosa más antes de encargar nada, porque REST no dice nada sobre quién tiene permiso para preguntar. Cada dirección es una puerta, así que cada puerta debe comprobar por su cuenta quién llama y qué puede ver. Olvidar esa comprobación en una sola dirección es una de las formas más comunes de filtrar datos. Por eso una revisión de seguridad de Linkysoft lee la lista de direcciones línea por línea. Así que si paga por una API, pida esa lista y pregunte quién la probó.

Preguntas sobre REST

¿Qué significan las siglas REST?
Representational State Transfer. El nombre completo no ayuda a nadie. En la práctica significa que cada elemento tiene su dirección web y se usa sobre él acciones estándar.
¿Son lo mismo REST y una API?
No. REST es un estilo para construir una API, y con diferencia el más común. Existen otros, como GraphQL y SOAP, y un mismo sistema puede ofrecer varios a la vez.
¿Por qué los programadores prefieren REST?
Porque es predecible. Quien ha usado una API REST suele adivinar cómo funciona la siguiente, y eso reduce el tiempo y el coste de cada conexión nueva que usted paga.
¿Una API REST es segura por defecto?
No. REST no dice nada sobre permisos. Cada dirección debe comprobar por su cuenta quién pregunta y qué puede ver, y cada una debe probarse por separado.
¿Puede una API REST ir lenta en el móvil?
Sí. Una pantalla que necesita cuatro direcciones hace cuatro viajes distintos. Con poca cobertura eso se suma, así que las pantallas cargadas suelen tener una dirección combinada propia.

¿Sigue sin ver cómo se aplica esto a su proyecto?

Cuéntenos qué está construyendo y le responderemos en lenguaje claro.