Vai al contenuto
AchaduDevelopers
API operativaVai al sito web ↗
Cruscotto →
Achadu/Developers/Controllo delle versioni

Evoluzione compatibile, migrazioni esplicite.

La versione principale è nell'URL. Le modifiche aggiuntive entrano nella v1 senza interrompere i client; Le modifiche incompatibili richiedono una nuova versione e una finestra di migrazione.

Cosa potrebbe cambiare nella versione v1

✓
Nuovi endpoint

Ulteriori operazioni e funzionalità potrebbero essere pubblicate.

✓
Nuovi campi facoltativi

I client dovrebbero ignorare le proprietà sconosciute nelle risposte.

✓
Nuovi eventi

Gli abbonamenti con * possono avere tipi aggiunti al catalogo.

✓
Nuovi valori

Le enumerazioni aperte possono ottenere stati o fornitori documentati.

Cosa richiede una nuova versione

✓
Rimuovi o rinomina

L'endpoint, il campo o il valore esistente non scompaiono silenziosamente.

✓
Cambia significato

Semantica, unità o formato incompatibili richiedono un nuovo contratto.

✓
Rendilo obbligatorio

Un campo facoltativo non diventa obbligatorio all'interno della stessa versione.

✓
Cambia autenticazione

Le modifiche di autorizzazione incompatibili ricevono la propria migrazione.

Ciclo di ammortamento

1
Annuncio

Il cambiamento entra nella storia con sostituzione e impatto.

2
Migrazione

Le due forme coesistono durante la finestra informativa.

3
Avviso in produzione

La documentazione e le risposte identificano il contratto interrotto.

4
Chiusura

La rimozione avviene solo nella data annunciata.

Come scrivere un client resiliente

✓Ignora i campi di risposta sconosciuti.
✓Tratta le enumerazioni sconosciute come stato valido non supportato.
✓Non dipende dall'ordine delle proprietà JSON.
✓Utilizza la versione dall'URL, non una versione dedotta dall'SDK.
✓Tieni traccia della cronologia prima di aggiornare un cliente generato.