Gå til innhold

ADR-004: Refit for typede REST-klienter⚓︎

Kontekst⚓︎

Kai integrerer med to eksterne REST-APIer: Mimir (Databricks SQL) og WebSak (arkivsystem). Vi trenger en strukturert mate a definere og konsumere disse APIene.

Beslutning⚓︎

Vi bruker Refit for a generere typede HTTP-klienter fra interface-definisjoner:

  • IMimirApi — Databricks SQL Statements API (/api/2.0/sql/statements)
  • IWebSakApi — Enova WebSak API (HentSakGittSaksId, HentElektroniskFil...)

Autentisering: - Mimir: AuthorizationHeaderValueGetter med DefaultAzureCredential for Databricks-token - WebSak: APIM subscription key via Ocp-Apim-Subscription-Key-header

Konsekvenser⚓︎

Positive: - Sterkt typede API-kontrakter - Automatisk serialisering/deserialisering - Enkel a teste med mock-interfaces

Avveininger: - Mimir bruker asynkron polling (execute → poll for result) som Refit ikke handterer ut av boksen — wrapper-logikk kreves