API Versioning
Versionnage de l'API
Le versionnage de l'API est un plan pour nommer, modifier, supporter et retirer les contrats d'API sans casser les clients. Il n'existe pas d'URL ou de style d'en-tête unique que chaque API doit utiliser.
Un autre exemple
Une API de paie publie le contrat OpenAPI `2026-07` et maintient le fonctionnement des clients `/v1`. L'ajout d'un champ optionnel ne les casse pas. Changer `netPay` d’entiers en centimes à un décimal nécessite un nouveau contrat majeur. Cela nécessite également des guides de migration, des en-têtes de dépréciation, des données d'utilisation et une date de retrait.
Parties principales
- 01Identifiant de contrat
- 02Règles de compatibilité
- 03Dépréciation et migration
Utilisez-le lorsque
Définissez d'abord les règles de compatibilité, les types de modification, la méthode de découverte, la période de support et la politique de dépréciation. Choisissez ensuite un chemin, un type de média ou un style d'en-tête.
Ne l'utilisez pas lorsque
Ne créez pas une nouvelle version de l’API pour chaque publication. Ne promettez pas un support éternel sans données d’utilisation et un moyen de retirer les anciennes versions.
Nom utilisé dans le code
explicit compatibility policy + versioned OpenAPI document + deprecation and sunset lifecycle Avant d'expédier
Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback.
Outcome: Complete the task with Versionnage de l'API (API Versioning). User context: Une API de paie publie le contrat OpenAPI `2026-07` et maintient le fonctionnement des clients `/v1`. L'ajout d'un champ optionnel ne les casse pas. Changer `netPay` d’entiers en centimes à un décimal nécessite un nouveau contrat majeur. Cela nécessite également des guides de migration, des en-têtes de dépréciation, des données d'utilisation et une date de retrait. Technical concept or control: Versionnage de l'API (API Versioning). Why it fits: Définissez d'abord les règles de compatibilité, les types de modification, la méthode de découverte, la période de support et la politique de dépréciation. Choisissez ensuite un chemin, un type de média ou un style d'en-tête. Do not use it when: Ne créez pas une nouvelle version de l’API pour chaque publication. Ne promettez pas un support éternel sans données d’utilisation et un moyen de retirer les anciennes versions. Engineering requirements: Define inputs, outputs, contracts, and rules that must always hold. Set authorization and input checks. Define failures, timeouts, retries, one-time effects, data moves, and compatibility limits. Operations: Add useful signals and logs that hide sensitive data. Set capacity limits and write an operator guide. Test recovery and rollback. Acceptance criteria: Contract and failure-path tests pass. Data and authorization rules still hold during retries and partial failures. Check performance limits, monitoring, recovery, and rollback. Evidence and limits (evidence boundary): Aucun standard officiel unique ne régit l’ensemble du terme. Sa signification peut varier selon les équipes, plateformes ou frameworks. Unknowns to confirm: Where the code runs, data stores, traffic shape, consistency needs, and the security boundary. Also confirm the compatibility period, service goals, and rollback limits.
Vérifiez cette demande
Review how Versionnage de l'API (API Versioning) is used now. Definition: Le versionnage de l'API est un plan pour nommer, modifier, supporter et retirer les contrats d'API sans casser les clients. Il n'existe pas d'URL ou de style d'en-tête unique que chaque API doit utiliser. Release checks: Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback. Before changing code, list the evidence, gaps, severity, and the smallest safe fix.