Expand and Contract

  • Utvikling

Når man ønsker å gjøre endringer i et API, men du kan ikke garantere for at begge sider av bindingene blir oppdatert samtidig, så må man gjøre noe smart. Hvis det lar seg gjøre kan vi utvide med det nye formatet eller feltene, mens vi beholder de som allerede er i bruk.

Når vi har forsikret oss om at det gamle formatet/feltene ikke lenger i bruk kan vi fjerne dem. Dette kalles Expand and Contact.

Original

{
  "price": 10
}

Expand

{
  "price": 10,
  "prices": [10, 20]
}

Contract

{
  "prices": [10, 20]
}