C# Academy · Lektion

Strategier för API-versionering

Versionshantera via URL, header och frågesträng.

Lektion 1 av 413 steg

Strategier för API-versionering är en gratis lektion i C# Academy på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för C# Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i C# Academy innehåller totalt 4 lektioner.

Varför versionshantera ett API

När klienter är beroende av ditt API kan du inte bryta dess kontrakt. Versionshantering gör att du kan leverera brytande ändringar i en ny version medan gamla klienter fortsätter att fungera mot den gamla versionen.

// v1 returns { name }
// v2 returns { firstName, lastName }  (breaking)

Versionshantering i URL-sökvägen

Den mest synliga strategin placerar versionen i sökvägen. Den är entydig och enkel att routa, bläddra i och cacha.

GET /api/v1/products
GET /api/v2/products

Versionshantering med query string

Versionen skickas som en query-parameter. URL:er förblir stabila, och en parameter som saknas kan använda den senaste eller en fast version som standard.

GET /api/products?api-version=1.0
GET /api/products?api-version=2.0

Versionshantering med header

En anpassad request-header innehåller versionen, vilket håller URL:en ren. Nackdelen är att den inte syns i webbläsarens adressfält och är svårare att testa manuellt.

GET /api/products
X-Api-Version: 2.0

Versionshantering med mediatyp

Det kallas även content negotiation. Versionen bäddas in i mediatypen för Accept-headern. Det är det mest RESTful men minst upptäckbara alternativet.

GET /api/products
Accept: application/json;v=2.0

Jämföra strategierna

Varje strategi innebär en avvägning mellan upptäckbarhet och rena URL:er:

  • URL-sökväg: enklast att upptäcka, men gör URL:er röriga.
  • Query string: stabila URL:er och enkla standardvärden.
  • Header: rena URL:er, men dolda för webbläsare.
  • Mediatyp: den renaste REST-lösningen, men svårast att använda.
// Many teams pick URL path for public APIs

Semantisk versionshantering av API:er

API-versioner är vanligtvis endast major-versioner (v1, v2). Reservera minor-versioner för tillägg som inte bryter kompatibiliteten och som gamla klienter kan ignorera.

// v1.0 -> v1.1 : additive (safe)
// v1   -> v2   : breaking (new version)

Utfasning

Ta aldrig bort en gammal version plötsligt. Markera den som deprecated, ange ett datum för avveckling och meddela klienterna via headers.

// Response header on a deprecated version:
// Sunset: Wed, 31 Dec 2026 23:59:59 GMT
// Deprecation: true

Standardversion

Bestäm vad som händer när en klient inte skickar någon version. Vanliga alternativ är att anta den senaste versionen, anta v1 eller avvisa begäran. Tydliga regler förhindrar överraskningar.

// Strategy: unversioned request -> treat as v1.0

Versionshantera rätt saker

Versionshantera kontraktet (routes och strukturer för requests/responses), inte interna implementeringsdetaljer. En v2-slutpunkt kan dela merparten av affärslogiken med v1.

// Same service, two thin controllers:
// ProductsV1Controller, ProductsV2Controller

Kombinera strategier

ASP.NET Cores versioneringsbibliotek kan läsa versionen från flera källor samtidigt, så att klienter kan välja det som passar dem bäst. Du konfigurerar detta härnäst.

// Accept version from URL OR header OR query

Snabbtest

Testa att du har förstått strategierna för versionshantering.

Sammanfattning

Du har gått igenom strategier för API-versionering:

  • URL-sökväg, query string, header och mediatyp.
  • Varje strategi innebär en avvägning mellan upptäckbarhet och rena URL:er.
  • Versionshantera kontraktet, fasa ut versioner på ett kontrollerat sätt och definiera en standardversion.

Nästa del: konfigurera Asp.Versioning i ASP.NET Core.

Gratis att börja

Lär dig C# med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
93
Lektioner
346

Vanliga frågor

Är lektionen ”Strategier för API-versionering” gratis?

Ja – hela texten till ”Strategier för API-versionering” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i C# Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i C# Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Strategier för API-versionering”?

Versionshantera via URL, header och frågesträng. Ni övar på C# Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig C# Academy?

Du behöver inga förkunskaper. Utbildningen i C# Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.

Hur lång tid tar lektionen ”Strategier för API-versionering”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här C# Academy-lektionen?

Ja. Varje C# Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Strategier för API-versionering
  2. Konfigurera Asp.Versioning
  3. Generera OpenAPI-dokument
  4. Dokumentera versionshanterade API:er
← Tillbaka till C# Academy