La versionación de API (Interfaz de Programación de Aplicaciones) ayuda a desarrollar interfaces y garantizar la compatibilidad hacia atrás con los cambios, para que los clientes externos e internos no se rompan con cada actualización.
Esquemas principales de versionado:
/api/v1/resource.Accept: application/vnd.company.v1+json./api/resource?version=2.Normalmente se utiliza el enfoque con la versión en la URL, ya que es claro y transparente para todos los clientes.
Ejemplo en Node.js (Express):
// Versión 1 app.get('/api/v1/orders', ordersV1Handler); // Versión 2 app.get('/api/v2/orders', ordersV2Handler);
Características clave:
¿Es suficiente mantener siempre solo la última versión de API?
No, los usuarios de aplicaciones antiguas pueden no tener la posibilidad de cambiar urgentemente al nuevo interfaz, por lo que a menudo se mantienen varias versiones actuales.
¿Se pueden agregar cambios incompatibles de nuevo en una versión menor de API?
No, las versiones menores deben ser estrictamente compatibles con las anteriores. Los cambios disruptivos requieren un cambio de versión mayor.
¿Afecta el método de versionado (URL, encabezados, parámetros) a la seguridad o el rendimiento de API?
No, el lugar donde se almacena la versión por sí mismo no afecta las características técnicas, pero el versionado de URL es más fácil de analizar con herramientas de monitoreo y soporte.