REST REST

Una forma de diseñar API web en la que cada elemento tiene su propia dirección y se actúa sobre él 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 la manera en que un programa le pide información a otro. La regla de REST es corta. 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. Una dirección significa todos los pacientes. La misma dirección con un número al final significa un paciente concreto. Para leer ese paciente, el programa envía una petición de lectura. Para añadir uno nuevo, una de creación. Para sustituir la ficha, una de reemplazo. Para borrarla, una de borrado. Esos cuatro verbos no los inventó el programa de la clínica. 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. 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. Cada dirección devuelve un solo tipo de cosa, así que 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. En un móvil con una raya de cobertura, es la diferencia entre una pantalla que abre y otra que se rinde. Cuando construimos una aplicación móvil, solemos añadir una dirección extra que devuelve la pantalla entera en una sola respuesta, y dejamos las direcciones normales para lo demás.

Una cosa más antes de encargar nada. REST no dice nada sobre quién tiene permiso para preguntar. Cada dirección es una puerta, y 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, y por eso una revisión de seguridad de Linkysoft lee la lista de direcciones línea por línea. 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.