Przejdź do treści
AchaduDevelopers
Achadu/Developers/Wersjonowanie

Ewolucja zgodna, migracje jawne.

Wersja główna znajduje się w adresie URL. Zmiany addytywne przechodzą do wersji 1 bez przerywania klientów; Niekompatybilne zmiany wymagają nowej wersji i okna migracji.

Co może się zmienić w v1

✓
Nowe punkty końcowe

Dodatkowe operacje i funkcje mogą zostać opublikowane.

✓
Nowe pola opcjonalne

Klienci powinni ignorować nieznane właściwości w odpowiedziach.

✓
Nowe wydarzenia

Subskrypcje z * mogą mieć typy dodane do katalogu.

✓
Nowe wartości

Otwarte wyliczenia mogą uzyskać udokumentowane stany lub dostawców.

Co wymaga nowej wersji

✓
Usuń lub zmień nazwę

Istniejący punkt końcowy, pole lub wartość nie znika po cichu.

✓
Zmień znaczenie

Niezgodna semantyka, jednostka lub format wymaga nowej umowy.

✓
Uczyń to obowiązkowym

Pole opcjonalne nie staje się obowiązkowe w tej samej wersji.

✓
Zmień uwierzytelnianie

Niekompatybilne zmiany autoryzacji podlegają własnej migracji.

Cykl amortyzacji

1
Ogłoszenie

Zmiana wchodzi do historii z wymianą i wpływem.

2
Migracja

Obie formy współistnieją w oknie informacyjnym.

3
Uwaga w produkcji

Dokumentacja i odpowiedzi wskazują na rozwiązaną umowę.

4
Zamknięcie

Usunięcie następuje wyłącznie w ogłoszonym terminie.

Jak napisać odpornego klienta

✓Ignoruj nieznane pola odpowiedzi.
✓Traktuj nieznane wyliczenia jako nieobsługiwany prawidłowy stan.
✓Nie polegaj na kolejności właściwości JSON.
✓Użyj wersji z adresu URL, a nie wersji wywnioskowanej z pakietu SDK.
✓Śledź historię przed aktualizacją wygenerowanego klienta.