Existen algunas prácticas recomendadas a tener en cuenta al diseñar las API, lo que garantiza la compatibilidad con versiones anteriores y las versiones nuevas. Cualquier enlace a artículos/blogs es apreciado.Diseño de la API que garantiza la compatibilidad con versiones anteriores
Respuesta
Debe consultar esta presentación sobre el diseño de API. Es de Google y es bastante bueno. También trata la compatibilidad con versiones anteriores y las nuevas versiones.
mantener ambos funcionando, con la versión en la url. api.mysite.com/[version]/api/url/here
. Notifique a los usuarios cuando llegue una nueva versión de la API y elimine la versión anterior después de un tiempo. Ya sea cuando ya no se usa, o como 6 meses, asegurando que los usuarios tuvieron suficiente tiempo para cambiarlo.
O póngalo en funcionamiento para siempre, pero no entregue ninguna funcionalidad nueva para él.
Ese es básicamente el enfoque que he utilizado en múltiples proyectos. Otro patrón que he visto muy a menudo es hacer que 'api.example.com /' señale la última versión de la API: observe la falta de un número de versión. Los clientes que no desean lo último y lo mejor pueden acceder al URL versionado: 'api.example.com/v1 /' – Anurag
. Existe alguna discusión sobre si aún puede llamarlo una APLICACIÓN REST si incluye el control de versiones en el esquema de URL. . ver http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven o http://thereisnorightway.blogspot.com/2011/02/versioning-and-types-in-resthttp -api.html –
Gracias. Estos son más para versionar las API y su implementación. Me interesa saber si hay alguna guía sobre cómo exponer las API, qué sucede si el esquema de datos cambia (elimina/modifica algunos tipos de datos que están expuestos a través de la API, etc.) – Sampat
La mejor manera de hacer esto para que la interfaz de edad o clase en la nueva versión con nueva interfaz y las clases y los marcados como obsoletos (los medios se eliminará en futuras versiones).
El diseñador de la API Hear tiene en cuenta la diferencia entre la interfaz pública y la interfaz publicada.
- 1. Mejores prácticas para la compatibilidad con versiones anteriores de API
- 2. Deserialización compatibilidad con versiones anteriores
- 3. Versiones de clase para admitir la compatibilidad con versiones anteriores
- 4. iOS 6 API y compatibilidad con versiones anteriores
- 5. Windows API Codepack Compatibilidad con versiones anteriores en Windows XP
- 6. ¿Cómo puedo probar la compatibilidad con versiones anteriores de la API entre los ensamblados de .NET
- 7. MS Office PIAs "compatibilidad con versiones anteriores"
- 8. ISerializable y compatibilidad con versiones anteriores
- 9. Integración de Kiosco sin romper la compatibilidad con versiones anteriores
- 10. ¿Cómo mantener la compatibilidad con versiones anteriores mientras utilizas Android API Level 15?
- 11. Compatibilidad con versiones anteriores y servicios web
- 12. .lib y .dll Compatibilidad con versiones anteriores
- 13. ¿Cuán importante es la compatibilidad con versiones anteriores?
- 14. Renombrado de funciones con preservación de compatibilidad con versiones anteriores
- 15. Diseño API: mejores prácticas y compatibilidad con múltiples versiones
- 16. Temas de Android Holo con compatibilidad con versiones anteriores
- 17. Compatibilidad con versiones anteriores de Java 6 Source y SQL
- 18. Compatibilidad con versiones anteriores en .NET con BinaryFormatter
- 19. Compatibilidad con versiones anteriores de SQL Server en Entity Framework?
- 20. WCF Service - Problema de compatibilidad con versiones anteriores
- 21. Compatibilidad con versiones anteriores del repositorio de Git
- 22. Estrategias para Honeycomb y compatibilidad con versiones anteriores
- 23. ¿Compatibilidad con versiones anteriores o posteriores en Android?
- 24. ¿Puede eliminar la finalización de una definición de clase romper la compatibilidad con versiones anteriores?
- 25. Compatibilidad con versiones anteriores de la serialización de vector (de) con Boost.serialization
- 26. ¿Cómo puedo evitar los métodos en desuso y mantener la compatibilidad con versiones anteriores?
- 27. Uso de las características de iOS 5 sin romper la compatibilidad con versiones anteriores
- 28. ¿Las API de Java Servlet son compatibles con versiones anteriores?
- 29. ¿Debería Java romper la compatibilidad con versiones anteriores en beneficio de un lenguaje más limpio?
- 30. ¿Qué características de C# se eliminarían si la compatibilidad con versiones anteriores no fuera un problema?
http://lcsd05.cs.tamu.edu/slides/keynote.pdf << enlace roto :( – kinar
y aún así roto, ¿quizás este es el indicado? Http://static.googleusercontent.com/media/research. google.com/en//pubs/archive/32713.pdf – user180574
El enlace está roto. – Salar