TAI
Tema

REST para Oposiciones TAI: Guía Completa

📝 30 preguntas 📖 Teoría 🎯 Preparación TAI

💡 Qué aprenderás

En este tema estudiarás todos los conceptos necesarios para responder correctamente las preguntas relacionadas con REST en la oposición.

¿Qué es REST?

REST (Representational State Transfer) es un estilo de arquitectura para el diseño de servicios web que permite la comunicación entre clientes y servidores utilizando el protocolo HTTP.

Fue propuesto por Roy Fielding en el año 2000 y define un conjunto de restricciones que permiten construir APIs simples, escalables e independientes de la plataforma.

REST no es un protocolo ni un estándar, sino un estilo arquitectónico.

📖 Definición
REST aprovecha las capacidades de HTTP para intercambiar representaciones de recursos, normalmente en formato JSON.

Conceptos fundamentales

Para comprender REST es imprescindible conocer los siguientes conceptos:

  • Recurso (Resource): cualquier elemento accesible mediante una URI.
  • URI (Uniform Resource Identifier): identifica de forma única un recurso.
  • Representación: formato en el que se intercambia un recurso (JSON, XML...).
  • Cliente: aplicación que realiza peticiones.
  • Servidor: aplicación que expone los recursos.
  • Métodos HTTP: operaciones sobre los recursos.
🎯 Muy preguntado
En REST todo gira alrededor de los recursos, no de las acciones.

Funcionamiento de REST

El cliente realiza una petición HTTP indicando:

  • La URI del recurso.
  • El método HTTP.
  • Opcionalmente, datos en el cuerpo de la petición.

El servidor:

  1. Recibe la petición.
  2. Procesa la operación solicitada.
  3. Devuelve una respuesta HTTP.
  4. Incluye un código de estado y, normalmente, una representación del recurso.
Cliente

   │

HTTP Request

(GET, POST, PUT...)

   │

Servidor REST

   │

HTTP Response

(200 OK + JSON)
💡 Consejo para el examen
En REST la comunicación se basa en peticiones y respuestas HTTP.

Características de REST

REST presenta las siguientes características:

  • Arquitectura cliente-servidor.
  • Comunicación sin estado (Stateless).
  • Uso de HTTP.
  • Recursos identificados mediante URI.
  • Interfaz uniforme.
  • Posibilidad de utilizar caché.
  • Arquitectura escalable.
🎯 Muy preguntado
La ausencia de estado (Stateless) es una de las características más importantes de REST.

Restricciones de REST

Para que una API sea considerada RESTful debe cumplir una serie de restricciones.

Cliente-Servidor

Cliente y servidor son independientes.

Esto permite evolucionar ambos sistemas sin afectar al otro.


Stateless

Cada petición contiene toda la información necesaria para ser procesada.

El servidor no almacena información sobre peticiones anteriores.

⚠️ Error habitual
Es frecuente confundir Stateless con la ausencia de autenticación. Una API REST puede estar autenticada mediante tokens como JWT.

Cacheable

Las respuestas pueden almacenarse en caché cuando sea posible.

Esto reduce el número de peticiones al servidor y mejora el rendimiento.


Interfaz uniforme

Todos los recursos siguen las mismas reglas de acceso.

Por ejemplo:

GET /usuarios
GET /usuarios/15
POST /usuarios
PUT /usuarios/15
DELETE /usuarios/15

Sistema en capas

El cliente desconoce si está comunicándose directamente con el servidor o con un proxy, balanceador o gateway intermedio.


Recursos y URI

Cada recurso posee una dirección única denominada URI.

Ejemplos:

/usuarios
/usuarios/25
/productos
/pedidos/108

Una buena práctica consiste en utilizar:

  • Sustantivos.
  • Minúsculas.
  • Plurales.
  • Sin verbos.

✅ Correcto:

GET /clientes

❌ Incorrecto:

GET /obtenerClientes
🎯 Muy preguntado
En REST las acciones las indica el método HTTP, no el nombre de la URI.

Métodos HTTP

Los métodos HTTP representan las operaciones CRUD sobre los recursos.

Método Operación
GET Consultar
POST Crear
PUT Reemplazar completamente
PATCH Modificar parcialmente
DELETE Eliminar

Ejemplos:

GET /productos

Obtiene todos los productos.

POST /productos

Crea un nuevo producto.

DELETE /productos/15

Elimina el producto 15.

💡 Consejo para el examen
Relaciona siempre REST con las operaciones CRUD.

Códigos de estado HTTP

El servidor devuelve un código indicando el resultado de la operación.

Código Significado
200 OK Operación correcta
201 Created Recurso creado
204 No Content Operación correcta sin contenido
400 Bad Request Solicitud incorrecta
401 Unauthorized No autenticado
403 Forbidden Acceso prohibido
404 Not Found Recurso no encontrado
500 Internal Server Error Error del servidor
🎯 Muy preguntado
Los códigos HTTP forman parte fundamental del funcionamiento de cualquier API REST.

Formatos de intercambio

REST puede utilizar distintos formatos para representar los recursos.

Los más habituales son:

  • JSON.
  • XML.

Actualmente, JSON es el formato predominante por su simplicidad y menor tamaño.

Ejemplo:

{
  "id": 15,
  "nombre": "Ana",
  "edad": 28
}
💡 Consejo para el examen
En la práctica, REST suele asociarse directamente con APIs JSON.

Idempotencia

Una operación es idempotente cuando ejecutarla varias veces produce el mismo resultado.

Método Idempotente
GET
PUT
DELETE
PATCH Depende
POST No
📌 Recuerda
POST normalmente crea nuevos recursos, por lo que varias ejecuciones generan resultados distintos.

Comparación REST vs SOAP

REST SOAP
Estilo arquitectónico Protocolo
Generalmente JSON XML
Más ligero Más pesado
Muy utilizado en APIs web Frecuente en entornos empresariales tradicionales
Fácil integración Mayor complejidad
⚠️ Error habitual
REST no sustituye a SOAP en todos los escenarios; ambos pueden coexistir.

Caso práctico

Situación

Una aplicación móvil necesita consultar y actualizar la información de los usuarios mediante Internet.

Solución

Se desarrolla una API REST.

GET /usuarios/8

Obtiene los datos del usuario.

PUT /usuarios/8

Actualiza toda la información del usuario.

DELETE /usuarios/8

Elimina el usuario.

Gracias a la arquitectura REST, cualquier cliente compatible con HTTP puede consumir la API.

💡 Consejo para el examen
REST facilita la interoperabilidad entre aplicaciones desarrolladas con tecnologías diferentes.

Ventajas e inconvenientes

Ventajas

  • Sencillez.
  • Escalabilidad.
  • Independencia entre cliente y servidor.
  • Gran compatibilidad.
  • Uso de estándares HTTP.
  • Fácil integración con aplicaciones web y móviles.

Inconvenientes

  • HTTP puede introducir cierta sobrecarga.
  • No define un contrato estricto como SOAP.
  • El cumplimiento de REST depende del diseño de la API.
  • Las operaciones complejas pueden requerir múltiples peticiones.

Errores habituales

⚠️ Error habitual
Los errores más frecuentes relacionados con REST son:
  • Pensar que REST es un protocolo.
  • Confundir REST con HTTP.
  • Utilizar verbos en las URI.
  • No respetar los métodos HTTP.
  • Creer que Stateless significa que no existe autenticación.
  • Devolver códigos HTTP incorrectos.
  • Utilizar POST para operaciones que deberían realizarse mediante PUT o DELETE.

Cómo evitarlos

  • Recordar que REST es un estilo arquitectónico.
  • Diseñar las URI utilizando recursos.
  • Utilizar correctamente los métodos HTTP.
  • Memorizar los principales códigos de estado.
  • Entender el significado de Stateless.

Relaciones con otros temas

REST está estrechamente relacionado con:

  • HTTP.
  • JSON.
  • XML.
  • APIs.
  • Servicios web.
  • Arquitectura cliente-servidor.
  • TCP/IP.
  • Microservicios.
  • Desarrollo web.
📌 Recuerda
En exámenes es muy frecuente relacionar REST con HTTP, JSON, URI, métodos HTTP, códigos de estado y APIs.

Conceptos clave para recordar

[!NOTE]

  • REST es un estilo arquitectónico, no un protocolo.
  • Fue definido por Roy Fielding en el año 2000.
  • Se basa en el protocolo HTTP.
  • Todo gira alrededor de los recursos, identificados mediante URI.
  • Las operaciones se realizan mediante los métodos GET, POST, PUT, PATCH y DELETE.
  • Una API REST debe ser Stateless, es decir, cada petición contiene toda la información necesaria.
  • Los formatos más utilizados son JSON y, en menor medida, XML.
  • Los códigos de estado HTTP indican el resultado de la operación (200, 201, 404, 500, etc.).
  • REST es la arquitectura predominante para el desarrollo de APIs web y microservicios.

📝 Preguntas de ejemplo

Comprueba si reconoces este tipo de preguntas.

1. ¿Qué significan las siglas REST?
2. ¿Qué es REST?
3. ¿Quién definió el estilo arquitectónico REST?
4. ¿Sobre qué concepto principal se basa REST?
5. ¿Cómo se identifica un recurso en una API REST?

¿Has terminado de estudiar?

Ahora pon a prueba tus conocimientos realizando el test completo de este tema.

Comenzar test

Utilizamos cookies

Utilizamos cookies analíticas para conocer el uso de la plataforma y mejorar la experiencia del usuario. Puedes aceptar o rechazarlas en cualquier momento. Más información en nuestra Política de Cookies .