Skip to content
StackPractices

api

Recursos prácticos sobre api para ingenieros de software.

99 resultados

Construyendo APIs Robustas

Las APIs son el contrato entre sistemas. Ya sea que expongas un endpoint REST público, diseñes un schema GraphQL interno o te integres con un servicio de terceros, los patrones que elijas determinan la confiabilidad, rendimiento y experiencia del desarrollador.

Aquí encontrarás recetas para manejar CORS, implementar paginación, versionar endpoints, gestionar límites de tasa y documentar APIs con OpenAPI. Cada ejemplo incluye código ejecutable en múltiples lenguajes para que puedas adaptarlo a tu stack inmediatamente.

intermediate

Stream de salida LLM con Server-Sent Events (SSE)

Stream respuestas LLM a clientes en tiempo real usando Server-Sent Events con FastAPI, OpenAI streaming y async generators para salida token por token

beginner

Crear documentación de API con OpenAPI

Genera documentación de API interactiva a partir de specs OpenAPI usando Swagger UI, Redoc y herramientas nativas en Python, JavaScript y Java.

intermediate

Implementar logging y audit trails de API

Configura logging completo de petición/respuesta y audit trails para APIs con salida estructurada, correlation IDs y consideraciones de compliance.

intermediate

Implementar Rate Limiting de APIs con Redis

Protege APIs de abuso usando algoritmos de token bucket y ventana deslizante con Redis, incluyendo manejo de bursts, coordinacion distribuida y headers custom para feedback al cliente

intermediate

Rate Limiting de APIs

Protege las APIs de abuso y asegura uso justo de recursos con token bucket, sliding window y leaky bucket.

intermediate

Versionado de APIs

Cómo versionar APIs REST y GraphQL para mantener compatibilidad hacia atrás mientras evolucionas tu interfaz.

beginner

Llamar a una API REST

Cómo hacer peticiones HTTP a una API REST y manejar la respuesta JSON en varios lenguajes.

intermediate

Paginacion por Cursor con PostgreSQL

Implementa paginacion eficiente por cursor para datasets grandes en PostgreSQL, evitando la degradacion de performance de OFFSET con paginacion keyset indexada y orden estable

intermediate

Patrones de Composicion de Middleware en Express.js

Construye aplicaciones Express mantenibles usando patrones de composicion de middleware para autenticacion, validacion, manejo de errores, propagacion de contexto y wrappers de rutas async

intermediate

REST API en Go con Gin y Middleware

Construye APIs REST production-ready en Go usando el framework Gin con middleware custom para logging, autenticacion, validacion y manejo de errores

intermediate

Implementar una API GraphQL

Construye una API GraphQL lista para producción con schemas tipados, resolvers y optimización de queries en Python, JavaScript y Java.

intermediate

Construye una API GraphQL con Apollo Server y TypeScript

Como construir una API GraphQL lista para produccion usando Apollo Server, TypeScript y DataLoader para resolver el problema de consultas N+1

intermediate

Implementar una API gRPC con Protocol Buffers

Cómo implementar una API gRPC usando Protocol Buffers para comunicación de alto rendimiento entre servicios

intermediate

Servicios gRPC con Protocol Buffers en TypeScript

Construye servicios de alto rendimiento y fuertemente tipados usando gRPC con Protocol Buffers, cubriendo llamadas unarias, server streaming, client streaming y bidirectional streaming

intermediate

Manejo Correcto de CORS

Cómo configurar headers de Cross-Origin Resource Sharing (CORS) correctamente para APIs, SPAs y funciones serverless sin abrir agujeros de seguridad.

intermediate

Manejar Errores en APIs

Patrones para un manejo de errores de API consistente y predecible en varios lenguajes y frameworks.

intermediate

Endpoints de API Idempotentes

Cómo diseñar e implementar endpoints de API idempotentes que manejen retries, requests duplicados y fallas de red sin efectos secundarios.

beginner

Validación de Input

Cómo validar input de usuarios de forma segura usando schemas, type checking y sanitización en Python, JavaScript y Java.

intermediate

Lógica de Reintento en JavaScript Fetch con Backoff

Reintenta peticiones HTTP fallidas en JavaScript con backoff exponencial

beginner

Logging

Cómo implementar logging estructurado basado en niveles en Python, JavaScript y Java con lo que funciona para observabilidad en producción.

intermediate

Middleware

Cómo implementar middleware de request/response para logging, auth y manejo de errores en Python, JavaScript y Java.

intermediate

Configura Nginx como Reverse Proxy y API Gateway

Como usar Nginx como reverse proxy para servicios backend, implementar balanceo de carga, terminacion SSL y rate limiting para API gateways de produccion

intermediate

Comunicación WebSocket en Tiempo Real con Socket.io en

Construye aplicaciones WebSocket en tiempo real en Node.js con Socket.io

intermediate

Paginación

Cómo implementar paginación basada en cursor y offset en APIs y bases de datos en Python, JavaScript y SQL.

intermediate

Rate Limiting de API en Python con Token Bucket

Implementa token bucket rate limiting en Flask y FastAPI con soporte Redis.

intermediate

Rate Limiting

Cómo implementar rate limiting en APIs usando token bucket, sliding window y fixed window en Python, JavaScript y Java.

intermediate

Construir notificaciones en tiempo real con WebSockets

Implementa un sistema de notificaciones en tiempo real usando WebSockets y Redis pub/sub para difundir mensajes entre clientes.

intermediate

Diseño de APIs REST: Lo que funciona

Diseña APIs REST robustas y escalables con métodos HTTP adecuados, códigos de estado, versionado y estrategias de paginación.

intermediate

Enviar Emails con SMTP

Cómo enviar emails transaccionales y masivos de forma segura usando SMTP con soporte de plantillas.

intermediate

Implementa Server-Sent Events en Go para Actualizaciones

Como construir un endpoint de Server-Sent Events en Go listo para produccion con gestion de conexiones, heartbeats y manejo graceful de desconexiones de clientes

intermediate

Server-Sent Events con Node.js y Express

Implementa push en tiempo real de servidor a cliente usando Server-Sent Events en Node.js con Express, cubriendo gestion de conexiones, tipos de eventos, logica de reconexion y manejo de backpressure

intermediate

Server-Sent Events (SSE)

Cómo implementar streaming en tiempo real unidireccional del servidor al navegador usando Server-Sent Events, con reconexión, tipos de eventos y broadcasting a múltiples clientes.

intermediate

Webhooks

Cómo crear y consumir endpoints de webhook para integraciones event-driven en tiempo real.

intermediate

Autenticacion y Patrones de Seguridad para WebSockets

Como autenticar conexiones WebSocket, implementar validacion de tokens y manejar autorizacion para mensajeria en tiempo real en produccion

intermediate

Construye un Chat Bidireccional con WebSocket y Node.js

Como construir una aplicacion de chat en tiempo real bidireccional usando WebSocket con mensajeria basada en salas, tracking de presencia y persistencia de mensajes

intermediate

Servidor WebSocket

Cómo construir un servidor WebSocket para comunicación en tiempo real bidireccional, con gestión de conexiones, broadcasting de mensajes y heartbeat keepalive.

intermediate

Usar Anotaciones de Cache de Spring con Backend Redis

Aplica las anotaciones @Cacheable, @CachePut y @CacheEvict de Spring con un cache manager Redis para caching declarativo en aplicaciones Java.

intermediate

Implementar Invalidation de Cache Redis en Node.js

Invalida entradas de cache Redis en Node.js con expiracion TTL, eliminacion explicita, limpieza por patron e invalidacion distribuida con pub/sub.

intermediate

Cachear Respuestas HTTP con httpx y CacheControl en Python

Cachear respuestas HTTP en Python usando httpx con CacheControl para caching compatible con HTTP, manejo de ETag y peticiones condicionales.

intermediate

Almacenar Sesiones de Usuario en Memcached con Python

Usa Memcached como almacen de sesiones distribuido en aplicaciones web Python con pymemcache, gestion de TTL y manejo de failover.

advanced

Componer Pipelines Asincronos con Java CompletableFuture

Construir pipelines async no bloqueantes en Java usando CompletableFuture con thenCompose, thenCombine, allOf, anyOf, manejo de excepciones, timeouts y thread pools personalizados.

intermediate

Haz Peticiones HTTP Concurrentes con Python y aiohttp

Obtén datos de múltiples APIs concurrentemente usando asyncio y aiohttp. Cubre connection pooling, rate limiting, reintentos y procesamiento por lotes.

intermediate

Ejecutar Tareas Async Concurrentes con asyncio.gather y

Ejecutar multiples operaciones async concurrentemente en Python usando asyncio.gather, asyncio.TaskGroup, manejo de errores con return_exceptions, timeouts y semaforos para rate limiting.

intermediate

Rate Limiting de Operaciones Async con asyncio.Semaphore

Controlar la concurrencia en async Python usando asyncio.Semaphore para rate limiting de llamadas a API, conexiones a base de datos y acceso a recursos con patrones de paralelismo limitado.

intermediate

Extrae Datos de Páginas HTML con Python y BeautifulSoup

Parsea HTML y extrae datos usando BeautifulSoup. Cubre selectores CSS, navegación DOM, tablas, paginación y scraping respetuoso con rate limiting.

intermediate

Tipos escalares personalizados en GraphQL para fechas,

Define escalares GraphQL personalizados para Date, Email, URL y JSON con logica de serializacion, parseo y validacion

intermediate

Batch y cache de consultas con GraphQL DataLoader

Usa DataLoader para agrupar peticiones de carga individuales en llamadas batch a la base de datos, resolviendo el problema N+1 en resolvers GraphQL

advanced

Auth a nivel campo con directivas personalizadas de GraphQL

Implementa autorizacion a nivel campo en GraphQL usando directivas de schema personalizadas que verifican roles y permisos por campo

intermediate

Errores GraphQL estructurados con codigos de extension

Implementa manejo de errores estructurado en GraphQL con clases de error personalizadas, codigos de extension y formato consistente para clientes

advanced

Configurar un gateway de GraphQL Federation con Apollo

Compone multiples servicios GraphQL en un supergrafo federado usando Apollo Federation y un gateway que enruta consultas entre subgrafos

intermediate

Validacion y sanitizacion de input types en GraphQL en

Implementa validacion centralizada de inputs en GraphQL con funciones personalizadas, schemas Zod y transformaciones de input types

beginner

Mocks de resolvers GraphQL para desarrollo frontend

Configura resolvers GraphQL mockeados con Apollo Server para que los equipos frontend desarrollen contra una API falsa antes del backend

intermediate

Detectar y corregir consultas N+1 en resolvers GraphQL

Identifica problemas de consultas N+1 en resolvers GraphQL usando logging, DataLoader y herramientas de analisis antes de que lleguen a produccion

intermediate

Paginacion por cursores con GraphQL Relay Connections

Implementa paginacion estilo Relay con cursores en GraphQL usando edges, nodes y pageInfo para recorrido eficiente hacia adelante y atras

advanced

Datos en tiempo real con suscripciones GraphQL sobre

Implementa suscripciones GraphQL sobre WebSockets con Apollo Server y PubSub para actualizaciones en tiempo real enviadas a clientes conectados

beginner

Validacion de Datos Basada en Schemas con Zod en TypeScript

Valida y sanitiza datos entrantes usando schemas Zod con inferencia de TypeScript, refinements custom y formateo de errores para validacion robusta de APIs y formularios

intermediate

Configura headers de seguridad HTTP con Helmet en Node.js

Establece headers de seguridad HTTP en apps Express con Helmet — CSP, HSTS, X-Frame-Options, X-Content-Type-Options y CORS para seguridad web compliant con OWASP

intermediate

Construir Azure Functions con HTTP Trigger en Python

Crear Azure Functions con HTTP trigger en Python con configuracion de bindings, handlers async, inyeccion de dependencias y despliegue via Azure CLI.

intermediate

Desplegar Cloud Functions HTTP en Google Cloud con Node.js

Crear y desplegar Cloud Functions con HTTP trigger en Google Cloud con Node.js, integracion Express, gestion de secrets y despliegue con gcloud CLI.

advanced

Asegurar API Gateway con Lambda Authorizers Personalizados

Implementar Lambda authorizers personalizados para API Gateway con validacion JWT, generacion de politicas IAM y caching para autenticacion basada en tokens.

intermediate

Patrón Backends for Frontends

Cómo crear dedicated backends per client type. Cubre BFF para web, mobile, y desktop. Cubre API aggregation, client-specific optimization, y GraphQL BFF.

intermediate

Patron de Enrutamiento de Gateway

Enruta solicitudes a multiples servicios backend a traves de un unico punto de entrada que gestiona preocupaciones transversales.

beginner

Adapter Pattern para Integrar APIs REST Externas

Usa el Adapter pattern para normalizar respuestas de APIs REST externas en un modelo interno consistente sin filtrar formatos de terceros en tu dominio

intermediate

Patrón Backend for Frontend (BFF)

Crea servicios backend dedicados adaptados a las necesidades específicas de cada tipo de frontend client, agregando APIs downstream y optimizando formas de datos por plataforma.

intermediate

Chain of Responsibility para Middleware de Procesamiento

Pasa peticiones a lo largo de una cadena de handlers donde cada handler decide si procesa la peticion o la pasa al siguiente handler en la pipeline

intermediate

Decorator Pattern para Pipelines de Peticiones HTTP

Usa el Decorator pattern para componer preocupaciones transversales como logging, metricas y reintentos en pipelines de peticiones HTTP sin modificar logica central

intermediate

Patron de Resolver Batch en GraphQL

Resuelve campos anidados de GraphQL en una sola peticion batch para eliminar consultas N+1 y reducir la carga de la base de datos.

intermediate

Patron DataLoader en GraphQL

Consolida llamadas de carga individuales en llamadas batch con cache por peticion para prevenir queries N+1 y fetches redundantes.

intermediate

Patron de Extension de Errores en GraphQL

Adjunta metadatos estructurados a errores GraphQL usando codigos de extension para manejo de errores predecible del lado del cliente.

advanced

Patron de Polimorfismo con Interfaces en GraphQL

Modela tipos polimorficos con interfaces GraphQL para compartir contratos de campos entre diferentes tipos de objeto manteniendo resolvers especificos.

advanced

Patron de Schema Stitching en GraphQL

Combina multiples esquemas GraphQL independientes en un unico esquema unificado que los clientes pueden consultar como un solo grafo.

intermediate

Patrón Token Bucket Rate Limiter

Cómo implementar token bucket rate limiting para API protection. Cubre bucket refill, burst handling, per-key buckets, distributed rate limiting con Redis, y sliding windows.

beginner

Plantilla de Changelog de API

Plantilla para documentar cambios de API incluyendo cambios breaking, nuevas capacidades, deprecaciones y correcciones.

beginner

Plantilla de Aviso de Deprecacion de API

Plantilla para comunicar deprecaciones de API, cambios breaking, y plazos de retiro a los consumidores.

beginner

Guia de Manejo de Errores de API

Guia para estandarizar respuestas de error, codigos de estado y payloads de error en APIs REST y GraphQL.

intermediate

Plantilla de Politica de Rate Limiting de API

Plantilla para definir limites de tasa de API por tier de consumidor, incluyendo allowances de burst, periodos de cuota y rutas de escalamiento.

intermediate

Plantilla de Definicion de SLA

Plantilla para definir y documentar Acuerdos de Nivel de Servicio incluyendo objetivos de uptime, tiempos de respuesta, presupuestos de error y procedimientos de escalamiento.

beginner

Plantilla de Documentación de API

Una plantilla reutilizable para documentar APIs REST y GraphQL con endpoints, schemas, errores y ejemplos.

intermediate

Plantilla de Respuesta de Error de API

Una plantilla reutilizable para respuestas de error de API consistentes, informativas y amigables para desarrolladores que reducen el tiempo de depuración.

beginner

Plantilla de Página de Estado de API

Una plantilla para una página de estado de API pública que comunica uptime, incidentes y ventanas de mantenimiento a los consumidores.

advanced

Referencia Detallada del OpenAI API

el OpenAI API en produccion. Cubre chat completions, streaming, function calling, structured outputs, embeddings, fine-tuning, batch API, assistants API, rate limits, error handling y optimizacion de costos.

intermediate

Referencia Detallada de Estrategias de Versionado de APIs

Versiona APIs REST y GraphQL con estrategias de URI, header, query param y content negotiation. Cubre deprecación, sunset y patrones de migración.

advanced

GraphQL Federation en Producción

Ejecutar GraphQL federado en produccion con confianza. Cubre composicion de subgrafos, deployment de gateway, resolucion de entidades, coordinacion de esquemas, observabilidad y manejo de fallos.

advanced

Referencia Detallada de GraphQL Federation

Construye APIs GraphQL unificadas across múltiples servicios con Apollo Federation. Cubre subgraphs, supergraph composition, entity resolution y gateway deployment.

advanced

Referencia Detallada de Diseño de Esquemas GraphQL

Disenar esquemas GraphQL para evolucion, rendimiento y mantenibilidad. Cubre diseno de tipos, conexiones, mutaciones, manejo de errores, deprecation y workflows schema-first vs code-first.

advanced

Referencia Detallada de Seguridad GraphQL

Asegurar APIs GraphQL contra leaks de introspection, ataques de profundidad, DoS por costo, abuso de batching e inyeccion. Cubre patrones de auth, rate limiting y hardening de produccion.

advanced

Referencia Detallada de Testing GraphQL

Testear APIs GraphQL en cada capa: unit tests para resolvers, integration tests para esquemas, E2E para operaciones. Cubre mocking, fixtures, snapshot testing y performance testing.

intermediate

Guía de Diseño de APIs REST

Una Referencia Detallada para diseñar APIs REST limpias, escalables y mantenibles.

advanced

Diseño de API Gateway: Resiliencia, Enrutamiento y Seguridad

Guía práctica para diseñar API gateways: patrones de enrutamiento, rate limiting, autenticación, circuit breakers y observabilidad para APIs resilientes.

intermediate

Referencia Detallada de Comunicación entre Microservicios

Compara patrones de comunicación síncrona vs asíncrona para microservicios. Cubre REST, gRPC, colas de mensajes, event-driven, service mesh y cuándo usar cada uno.

intermediate

GraphQL vs REST — Cuándo Elegir y Cómo Migrar

Guía de decisión comparando GraphQL y REST APIs: casos de uso, rendimiento, caching, herramientas y estrategias de migración para equipos de ingeniería.

advanced

gRPC en Microservicios — Guía de RPC de Alto Rendimiento

Guía práctica de gRPC para microservicios: Protocol Buffers, streaming, balanceo de carga y migración desde REST para RPC de alto rendimiento.

intermediate

Rate Limiting de APIs — Diseña Throttling Justo y Útil

Guía práctica para rate limiting de APIs: algoritmos de token bucket, leaky bucket, ventana deslizante, elección de límites e implementación de throttling resiliente para APIs.

intermediate

Checklist de Seguridad de APIs

Una checklist de seguridad essential para APIs: autenticación, autorización, validación de entrada, rate limiting, encriptación, logging y endurecimiento de despliegue.

advanced

Referencia Detallada de API Security

Asegurar tus APIs end-to-end. Cubre rate limiting, autenticacion, input validation, CORS, prevencion de SQL injection, API gateway patterns, limites de request size, pagination security, mass assignment, versioning, audit logging y API security testing con ejemplos de codigo.

advanced

Referencia Detallada de Patrones de Autenticación

Implementar autenticacion en produccion. Cubre JWT, OAuth2, session-based auth, passkeys, MFA, refresh tokens, token rotation, RBAC, ABAC, SSO con SAML y OpenID Connect, y patrones de logout seguro con ejemplos de codigo.

advanced

Referencia Detallada de OWASP Top 10 2025

Mitigar cada riesgo del OWASP Top 10 2025 con ejemplos de codigo practicos. Cubre broken access control, fallas criptograficas, injection, insecure design, security misconfiguration, componentes vulnerables, fallas de auth, integridad de software, fallas de logging y SSRF.

intermediate

Seguridad de Aplicaciones Web (OWASP Top 10)

Una guía enfocada en desarrolladores sobre el OWASP Top 10: inyección, control de acceso roto, XSS, diseño inseguro, y cómo prevenir cada vulnerabilidad con ejemplos de código.

intermediate

Seguridad de Webhooks — Entrega, Verificación y Protección

Guía práctica para asegurar webhooks: verificación de firmas, prevención de ataques de repetición, cifrado de payloads y endurecimiento de endpoints para entrega confiable.