Skip to content
IRC-CodingIRC-Coding
RESTAPI DesignHTTPCódigos de estadoIdempotenciaOAuth 2.0

REST API Design: recursos, HTTP y códigos de estado

Aprende REST API Design: constraints, recursos, métodos HTTP, códigos de estado, idempotencia, OAuth y seguridad.

S

schutzgeist

2 min read
REST API Design: recursos, HTTP y códigos de estado

REST API Design

Este artículo es una guía conceptual sobre REST API Design, que incluye preguntas de evaluación, componentes clave y etiquetas.

En resumen

REST es un estilo arquitectónico para servicios web que utiliza diseño orientado a recursos y métodos HTTP para crear interfaces escalables.

Descripción técnica concisa

REST (Representational State Transfer) se basa en seis restricciones, entre ellas la separación cliente-servidor y la comunicación sin estado. Los recursos se direccionan mediante URIs y se transfieren a través de representaciones (JSON/XML). Los métodos HTTP (GET, POST, PUT, DELETE) implementan operaciones CRUD. HATEOAS puede hacer que las APIs sean navegables. El rendimiento se optimiza mediante caché y paginación, entre otros mecanismos.

Puntos clave para evaluación

  • Richardson Maturity Model para evaluar la calidad de la API
  • Idempotencia de PUT frente a POST
  • HATEOAS como principio de hipermedia
  • Seguridad mediante OAuth 2.0 y HTTPS
  • Versionado a través de URI o headers

Componentes principales

  1. Recursos (diseño de URIs)
  2. Métodos HTTP (GET, POST, PUT, DELETE)
  3. Códigos de estado (200, 201, 400, 401, 404, 500)
  4. Formatos de medios (JSON, XML)
  5. Mecanismos de seguridad (HTTPS, OAuth)

Ejemplo práctico (API de gestión de usuarios)

Recursos:
/users
/users/{id}

GET /users?page=1
POST /users
PUT /users/{id}
DELETE /users/{id}

Ventajas e inconvenientes

VentajasInconvenientes
Integración simpleManejo de errores complejo
ReutilizaciónDifícil de usar sin documentación
EscalabilidadOverfetching con recursos grandes

Preguntas principales de evaluación (con respuesta breve)

  1. ¿Qué método HTTP es idempotente pero no seguro? PUT.
  2. ¿Cómo se evita el overfetching? Mediante parámetros de consulta específicos (o enfoques alternativos como GraphQL).
  3. ¿Tres riesgos de seguridad en REST APIs? Broken Authentication, Mass Assignment, Injection.
  4. ¿Qué significa HATEOAS? Hypermedia As The Engine Of Application State. Los enlaces controlan la navegación.
  5. ¿Cómo documentas REST APIs? Con OpenAPI (Swagger).

Glosario

TérminoDefinición
IdempotenciaLa ejecución múltiple tiene el mismo efecto que una sola ejecución
HATEOASNavegación basada en hipermedia entre recursos
OAuth 2.0Marco de autorización para acceso delegado

Análisis temático

  • Núcleo técnico: Protocolo HTTP, modelado de recursos
  • Desafíos de implementación: Diseño de URIs consistente, manejo de errores
  • Implicaciones de seguridad: Autenticación, encriptación
  • Obligaciones de documentación: Especificación OpenAPI
  • Evaluación económica: La reutilización reduce costos de desarrollo

Estrategia de aprendizaje

  1. Introducción conceptual: Analiza una API conocida (por ejemplo, GitHub REST API).
  2. Profundización: Escribe una pequeña especificación OpenAPI (libreta de direcciones).
  3. Entrenamiento enfocado en evaluación: Diseña una API de productos en 15 minutos.
  4. Prevención de errores: Verifica la seguridad con OWASP ZAP.

Recursos principales

  1. https://swagger.io/specification/
  2. https://owasp.org/www-project-api-security/
  3. https://docs.github.com/rest
  4. https://www.postman.com/api-examples/

Más artículos sobre REST API

Las REST APIs son la base de las aplicaciones web modernas. Los siguientes artículos te ayudarán a dominar todos los aspectos del diseño y desarrollo de REST APIs.

Fundamentos y conceptos

Volver al blog
Share:

Nächster Artikel in Desarrollo de Software

Weiterlesen
Software personalizada vs. software sectorial

Entradas relacionadas