¿Qué es Swagger? OpenAPI Specification, Herramientas, Ejemplos
Swagger es una suite de herramientas API construida alrededor de OpenAPI Spec — diseña, documenta, mockea y testea APIs REST. Incluye UI, Editor, Codegen.
¿Qué es Swagger?
Swagger es un ecosistema de herramientas open-source construidas alrededor de la OpenAPI Specification (OAS) para diseñar, documentar y consumir APIs REST. Originalmente desarrollado por SmartBear, la spec fue donada a la Linux Foundation en 2016 y rebranded como OpenAPI — pero el nombre Swagger se mantuvo para el tooling.
La OpenAPI Specification (actualmente 3.1) es un documento YAML o JSON que describe una API REST: endpoints, parámetros, esquemas request/response, autenticación, ejemplos. Las herramientas luego generan documentación, SDKs cliente, server stubs, mock servers y tests desde esta spec.
Swagger vs OpenAPI: ¿cuál es la diferencia?
| Término | Qué significa |
|---|---|
| OpenAPI Specification (OAS) | El estándar / formato para describir APIs REST |
| Swagger | El nombre original (pre-2016) de la spec; ahora la marca para tooling de SmartBear |
| Swagger UI | Herramienta open-source que renderiza specs OpenAPI como docs HTML interactivas |
| Swagger Editor | Editor browser-based para escribir specs OpenAPI con live preview |
| Swagger Codegen | Genera SDKs cliente y server stubs en 40+ lenguajes |
| Swagger Hub | Plataforma hosted de SmartBear para diseño API colaborativo |
Anatomía de una spec OpenAPI
openapi: 3.1.0
info:
title: Pet Store API
version: 1.0.0
servers:
- url: https://api.petstore.example.com/v1
paths:
/pets:
get:
summary: List all petsHerramientas ecosistema Swagger
| Herramienta | Propósito | ¿Open source? |
|---|---|---|
| Swagger UI | Renderizar specs como docs interactivas | Sí |
| Swagger Editor | Escribir specs con live validation | Sí |
| Swagger Codegen | Generar clients/server stubs | Sí |
| OpenAPI Generator | Fork de Codegen, desarrollo más activo | Sí |
| Swagger Hub | Diseño API colaborativo hosted | No |
| Stoplight Studio | Editor OpenAPI visual | Sí |
| Redoc | Renderer alternativo | Sí |
| Prism | Mock server desde spec OpenAPI | Sí |
| Spectral | Linter OpenAPI | Sí |
¿Por qué usar Swagger / OpenAPI?
- Single source of truth.
- APIs design-first.
- SDKs cliente auto-generados.
- Docs interactivas.
- Mock servers.
- Contract testing.
- Formato estandarizado.
- Code-first o design-first.
OpenAPI 3.0 vs 3.1: ¿qué cambió?
| Aspecto | OpenAPI 3.0 | OpenAPI 3.1 |
|---|---|---|
| Compat JSON Schema | Subset | Full 2020-12 |
| Webhooks | No soportado | First-class |
| Ejemplos | Single por response | Múltiples por response |
| Nullable | nullable: true | type: [string, null] |
Workflows OpenAPI comunes
Design-first (recomendado)
- Escribir spec OpenAPI colaborativamente.
- Revisar con stakeholders.
- Generar server stubs + SDKs cliente.
- Implementar lógica negocio en stubs.
- Usar spec para contract tests en CI.
Code-first
- Anotar código con decorators framework-specific.
- Framework auto-genera spec OpenAPI.
- Spec servida en
/openapi.json. - Swagger UI renderiza docs interactivas.
Pitfalls y mejores prácticas
- Spec se desvía de realidad.
- Ejemplos faltantes.
- Naming inconsistente.
- Nesting muy profundo.
- Auth mal documentada.
- Versioning ignorado.
FAQ: Swagger / OpenAPI
¿Es Swagger gratis?
Las herramientas open-source son gratis. Swagger Hub tiene tier gratis y planes pagos.
¿Debería usar Swagger o Postman?
Propósitos diferentes. Swagger/OpenAPI es el formato spec; Postman es para testing/exploring.
¿Debería usar design-first o code-first?
Design-first para APIs estables, públicas. Code-first para APIs internas/iterando rápido.
¿Qué reemplaza Swagger Codegen?
OpenAPI Generator — un fork comunitario con desarrollo más activo.
¿Puedo usar Swagger para GraphQL o gRPC?
No — OpenAPI es REST-específico.
¿Cómo versionar mi API?
URL versioning (/v1/users) o header versioning.
Load-testea tu API documentada con Swagger con LoadFocus
Si tienes una spec OpenAPI y quieres load-testear la implementación, LoadFocus corre scripts JMeter y k6 contra tu API real desde 25+ regiones con hasta 12.500 VUs. Regístrate en loadfocus.com/signup.
Herramientas LoadFocus relacionadas
Lleva este concepto a la práctica con LoadFocus — la misma plataforma que potencia todo lo que acabas de leer.