API Versioning: Sauvegarder les versions en voie de disparition malgré l'évolution (Thomas Martin)
Quand vous maintenez une API publique, se pose rapidement la nécessité de versioner cette API pour pouvoir introduire des breaking changes sans impacter vos clients. Cela suppose soit de conserver des expositions des versions d'API précédentes, soit d'avoir du code qui se chargera de faire les transformations nécessaires pour être compatible avec la dernière version de l'API. Chez Whoz, nous avons implémenté un système pour répondre à la deuxième méthode en intégrant 2 principales problématiques: - Ne pas gérer ces transformations dans le code des services eux-mêmes - Minimiser le code nécessaire à la rétrocompatibilité ainsi que la maintenance induite Notre solution est contenu dans une Api Gateway basée sur Spring Cloud Gateway, est écrite principalement en Kotlin et utilise la librairie réactive Reactor.