Livscykelhantering av APIer

Instansstrategi och Versionshantering

Se https://utveckling.sundsvall.se/metoder-och-riktlinjer/regler-och-riktlinjer-for-utveckling-av-apier

Hantera brytande versioner i applikationen

Den bakomliggande applikationen ska fortsätta ha stöd för både den nya och den gamla versionen av API’t även vid brytande förändringar så länge den gamla versionen används.

Ett exempel:
Fältet “facility” ska gå från att vara ett enda objekt till att bli en array (“facilities”). Det blir en brytande förändring eftersom fältet byter namn samt att det blir ett nytt format. Detta kan hanteras i applikationen genom att låta fältet “facility” ligga kvar parallellt med det nya fältet “facilities”. I applikationen krävs ibland en speciell validering under tiden dessa versioner ligger parallellt. Märk ut dessa temporära lösningar med TODO-kommentarer för att enkelt kunna hitta det som behöver uppdateras senare när den gamla versionen tas ur produktion.

Tips för att dölja det gamla fältet “facility” i den nya API-versionen i OpenAPI-specifikationen:

Lägg denna annotation på klassvariabeln:

@Schema(hidden = true)

Hur konfigurerar vi APIer i API Manager?

Version

API Gateway

Token

Produktion

https://api.sundsvall.se/ (extern)
https://api-i.sundsvall.se (intern)

Produktion

Test

https://api-test.sundsvall.se/ (extern)

https://api-i-test.sundsvall.se/ (intern)

Test
(Produktion i testmiljön)

Sandbox

https://api-test.sundsvall.se/ (extern)

https://api-i-test.sundsvall.se/ (intern)

Sandbox

Test

Konfigureras i API Publisher Test (https://api-im-test.sundsvall.se/publisher/apis).

  • Sandbox Endpoint skall peka på Sandbox-versionen av mikrotjänsten/applikationen

  • Production Endpoint skall peka på testversionen av mikrotjänsten/applikationen

Produktion

Konfigureras i API Publisher produktion (https://api-im.sundsvall.se/publisher/apis).

  • Production Endpoint skall peka på produktionsversionen av mikrotjänsten/applikationen

 

Länkar

Test

Produktion