Arquitectura (IT)Desarrollador de API

¿Cómo organizar la versionación de API en sistemas de TI corporativos y por qué es importante?

Supere entrevistas con el asistente de IA Hintsage

Respuesta.

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:

  • Versionado de URL: /api/v1/resource.
  • Versionado a través de encabezados: Accept: application/vnd.company.v1+json.
  • Versionado a través de parámetros de consulta: /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:

  • Permite desarrollar el producto sin riesgo para los usuarios de clientes antiguos.
  • Proporciona una transición suave entre generaciones de API.
  • Es obligatorio para grandes sistemas corporativos y públicos.

Preguntas capciosas.

¿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.