Kwa sababu huduma zimekuwa zinaunganishwa kwa njia huru, haiwezi kufikiria kuwa wanapigia simu wanasasisha kwa wakati mmoja. Kuweka API husika pamoja na uthabiti wa nyuma huruhusu wazalishaji kuendeleza bila kuvunja watumiaji waliosalia.
Kwa sababu huduma zimekuwa zinaunganishwa kwa njia huru, haiwezi kufikiria kuwa wanapigia simu wanasasisha kwa wakati mmoja. Kuweka API husika pamoja na uthabiti wa nyuma huruhusu wazalishaji kuendeleza bila kuvunja watumiaji waliosalia.
| Mbinu | Mfano |
|---|
| Njia ya URI | GET /v2/orders/42 |
| Kichwa | Accept: application/vnd.api.v2+json |
| Mageuzi ya muundo | ongeza sehemu, kamwe usisahau/badilisha jina |
NON-BREAKING (safe):
✓ add a new optional field
✓ add a new endpoint
✓ add a new enum value (if clients tolerate unknowns)
BREAKING (needs a new version):
✗ remove or rename a field
✗ change a type or make a field required
✗ change semantics of an existing field
message Order {
string id = 1;
double total = 2;
string currency = 3; // NEW field 3 — old clients ignore it safely
}
Namba za sehemu, si majina, hufafanua umbizo la waya, kwa hivyo kuongeza sehemu ni sawa na nyuma.
Release v2 ─▶ run v1 + v2 together ─▶ migrate consumers ─▶ deprecate v1 ─▶ remove v1
Kamwe usondoe toleo halisi trafiki bado inatumia. Fuatilia matumizi kabla ya kuondolewa.
Kuunganisha kwa njia huru kunafanya kazi tu ikiwa mzalishaji anaweza kutuma mabadiliko bila kuandamana na kila kutolewa kwa watumiaji.
Kubuniwa kwa mabadiliko ya kuongeza na kusaidia toleo la zamani wakati wa uhama ndiyo inayobaki huru badala ya kulazimisha sasisha za kutisha za big-bang.