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.