Resful API
Resful API
RESTful API:
Principios, Diseño y
Mejores Practicas
Tomás Cuevas
@tomás-cuevas-dev
Diseño de URI 02/19
Diseño de URI:
En el diseño de una API RESTful, las URLs
representan generalmente recursos
(objetos), mientras que los métodos HTTP
(como GET, POST, PUT, DELETE, etc.) indican
las operaciones que se pueden realizar
sobre ellos.
Tomás Cuevas
@tomás-cuevas-dev
Diseño de URI 03/19
Verbo + Objeto
Los verbos en una API RESTful
corresponden a los cinco principales
métodos HTTP, alineados con las
operaciones CRUD:
- GET: Obtener
- POST: Crear
- PUT: Actualizar
- PATCH: Modificar parcialmente
- DELETE: Eliminar
Tomás Cuevas
@tomás-cuevas-dev
Diseño de URI 04/19
Tomás Cuevas
@tomás-cuevas-dev
Diseño de URI 05/19
Ejemplos Incorrectos:
❌ /getAllCars
❌ /createNewCar
❌ /deleteAllRedCars
Estos ejemplos contienen verbos (get,
create, delete), lo que indica acciones en
lugar de recursos, lo que no cumple con las
normas semánticas de RESTful.
Tomás Cuevas
@tomás-cuevas-dev
Diseño de URI 06/19
Ejemplos Correctos:
✅ /cars → Representa una colección de
autos.
Tomás Cuevas
@tomás-cuevas-dev
Diseño de URI 07/19
URLs en Plural
Se recomienda utilizar nombres en plural en
las URLs para mantener la consistencia y
claridad, ya que normalmente representan
colecciones de recursos.
Tomás Cuevas
@tomás-cuevas-dev
Diseño de URI 08/19
Tomás Cuevas
@tomás-cuevas-dev
Diseño de URI 09/19
✅ /users/123/posts → Representa la
colección de publicaciones del usuario con
ID 123.
Tomás Cuevas
@tomás-cuevas-dev
Diseño de URI 10/19
Evitar URLs
Profundamente
Anidadas
Un problema común en el diseño de APIs
RESTful es la anidación excesiva de URLs
cuando se necesita clasificar los recursos en
múltiples niveles. Esto dificulta la
escalabilidad, la extensibilidad y la
comprensión de la API.
Tomás Cuevas
@tomás-cuevas-dev
Diseño de URI 11/19
Tomás Cuevas
@tomás-cuevas-dev
Diseño de URI 12/19
❌ GET /articles/published
✅ GET /articles?published=true
El uso de query parameters mantiene las
URLs más limpias, mejora la claridad
semántica y permite realizar consultas más
dinámicas sin modificar la estructura base de
la API.
Tomás Cuevas
@tomás-cuevas-dev
Respuestas de una API 13/19
Respuestas de una
API
Las respuestas de una API deben estar en
formato JSON estructurado, no en texto
plano, para mantener un formato estándar y
facilitar la interoperabilidad.
Tomás Cuevas
@tomás-cuevas-dev
Respuestas de una API 14/19
Tomás Cuevas
@tomás-cuevas-dev
Respuestas de una API 15/19
No Retornar
Código 200 en
Caso de Error
Un error común es devolver 200 OK incluso
cuando ocurre un fallo, incluyendo los
detalles del error dentro del cuerpo de la
respuesta.
Tomás Cuevas
@tomás-cuevas-dev
Respuestas de una API 16/19
❌ Ejemplo incorrecto:
Tomás Cuevas
@tomás-cuevas-dev
Respuestas de una API 17/19
Tomás Cuevas
@tomás-cuevas-dev
Respuestas de una API 18/19
Tomás Cuevas
@tomás-cuevas-dev
19/19