Que es REST API
REST (Representational State Transfer) es un estilo de diseno de servicios web propuesto por Roy Fielding en el ano 2000. REST API se refiere a Web APIs creadas siguiendo estos principios de diseno.
En el desarrollo de servicios web actuales, REST API es el metodo de diseno de API mas ampliamente utilizado.
Que es una API: API significa Application Programming Interface, y es un mecanismo para intercambiar datos entre diferentes software.
Los 6 Principios de Diseno de REST
1. Separacion Cliente-Servidor
Separa el cliente (frontend) y el servidor (backend), permitiendo que cada uno se desarrolle y evolucione de forma independiente.
2. Stateless (Sin Estado)
Cada solicitud debe ser autocontenida. El servidor no mantiene el estado del cliente.
3. Cacheable
Las respuestas deben indicar claramente si son cacheables o no.
4. Interfaz Uniforme
Unifica los metodos de operacion de recursos. Esta es la caracteristica mas importante de REST API.
5. Sistema en Capas
El cliente no es consciente de si se comunica directamente con el servidor o a traves de servidores intermedios.
6. Code on Demand (Codigo Bajo Demanda - Opcional)
Se puede enviar codigo del servidor al cliente para su ejecucion.
Metodos HTTP y Operaciones CRUD
| Metodo HTTP | Operacion CRUD | Descripcion | Idempotencia |
|---|---|---|---|
| GET | Read | Obtener recurso | Si |
| POST | Create | Crear recurso | No |
| PUT | Update | Actualizacion completa del recurso | Si |
| PATCH | Update | Actualizacion parcial del recurso | No |
| DELETE | Delete | Eliminar recurso | Si |
Que es la Idempotencia: Es la propiedad de que ejecutar la misma operacion multiples veces produce el mismo resultado.
Diseno de Recursos y URLs
# Coleccion de recursos (usar plural)
GET /api/users # Obtener lista de usuarios
POST /api/users # Crear nuevo usuario
# Recurso especifico
GET /api/users/123 # Obtener usuario con ID=123
PUT /api/users/123 # Actualizar usuario con ID=123
DELETE /api/users/123 # Eliminar usuario con ID=123
# Recursos anidados
GET /api/users/123/posts # Lista de publicaciones del usuario 123
Codigos de Estado HTTP
Exito (2xx)
200 OK- Solicitud exitosa201 Created- Recurso creado exitosamente204 No Content- Exito (sin cuerpo de respuesta)
Error del Cliente (4xx)
400 Bad Request- Solicitud invalida401 Unauthorized- Autenticacion requerida403 Forbidden- Sin permisos de acceso404 Not Found- Recurso no existe
Error del Servidor (5xx)
500 Internal Server Error- Error interno del servidor503 Service Unavailable- Servicio temporalmente suspendido
Resumen
REST API es un metodo de diseno de API simple y facil de entender que aprovecha las caracteristicas del protocolo HTTP. Al expresar recursos mediante URLs y operaciones mediante metodos HTTP, se logra una interfaz unificada.
← Volver a la lista