Dernière modification :
Stanislav Anisimov
Versioning API: `/v1/`, `Accept: version`, `GraphQL alias`
Click to expand / collapse

Lorsque l'API évolue, de nouvelles méthodes, paramètres et logique apparaissent. Afin de ne pas perturber les clients actuels, la version de l'API est utilisée. Nous prenons en charge plusieurs approches de versioning, permettant aux intégrateurs d'utiliser la bonne version de l'interface sans risque pour un fonctionnement stable.

C'est important tant pour la mise à l'échelle de la plate-forme que pour la mise à jour, le test ou le service des anciens clients.


Méthodes de versioning

MéthodeDescription et avantages
Version dans l'URL ('/v1/')Le moyen le plus clair et le plus populaire - pratique pour REST API
En-tête AccepterExemple : 'Accept : application/vnd. api+json; version = 2 '- sépare les données de la version
GraphQL alias / versioned fieldsDifférentes versions via alias : 'userV1', 'userV2' - commode pour une migration progressive
Versions au niveau du schémaSchémas et modules individuels dans OpenAPI/Swagger pour chaque version

Comment mis en œuvre

Structure API avec '/v1/', '/v2/' et itinéraires indépendants

Vérification des en-têtes 'Accept'et' X-API-Version '

GraphQL prend en charge les alias et les schémas versionnés ('userV1', 'userV2')

Possibilité A/B de tester de nouvelles versions sans risque pour la production

Loger les accès à chaque version pour l'analyse et la migration


Avantages pour les entreprises et les intégrateurs

Soutenir les anciens clients sans ralentir le développement

Fonctionnement parallèle de plusieurs générations d'API

Introduction sécurisée de nouvelles fonctionnalités sans briser la rétrocompatibilité

Flexibilité lors de la mise à l'échelle et de la mise à niveau de l'infrastructure

Migration transparente entre les versions avec contrôle et analyse


Où est particulièrement important

Plates-formes avec de nombreux clients externes

Projets avec une approche API-first et un long cycle de vie

Intégrations avec les banques, les fournisseurs, les partenaires B2B

Systèmes avec des clients mobiles ou IoT à longue durée de vie


Le versioning API est la base de la fiabilité et de la flexibilité des intégrations. Quel que soit le format (REST, GraphQL ou gRPC), nous assurons le développement sécurisé des interfaces - sans défaillance, conflit et perte de compatibilité.

Sujets populaires


Sujets principaux