Conceptos

Diseño de APIs

Principios y prácticas para diseñar interfaces de programación claras, consistentes y evolucionables que faciliten la integración entre sistemas.

seed#api#rest#graphql#design#openapi#contracts

¿Qué es?

El diseño de APIs es la disciplina de crear interfaces programáticas claras, consistentes y fáciles de usar. Una API bien diseñada es predecible, documentada y evolucionable sin romper consumidores existentes.

Estilos de API

EstiloCaracterísticasIdeal para
RESTRecursos, HTTP verbs, statelessCRUD, APIs públicas
GraphQLQuery language, schema tipadoFrontends flexibles
gRPCProtocol Buffers, streamingMicroservicios internos
WebSocketBidireccional, real-timeChat, notificaciones

Principios de diseño REST

  • Nombres de recursos en plural (/users, no /user)
  • HTTP verbs semánticos (GET, POST, PUT, DELETE)
  • Códigos de estado apropiados (201 Created, 404 Not Found)
  • Versionado (URL path o header)
  • Paginación consistente
  • HATEOAS para discoverability

API-First / Design-First

Definir el contrato de la API antes de implementar. Herramientas como OpenAPI permiten generar documentación, SDKs y mocks desde la especificación. Conecta con spec-driven development.

¿Por qué importa?

Una API mal diseñada se convierte en un contrato que no puedes romper. Cada decisión — nomenclatura, versionado, manejo de errores — se solidifica una vez que hay consumidores. Invertir en diseño antes de publicar ahorra meses de migraciones dolorosas después.

Referencias

Conceptos