Strategier för API-versionering
Versionshantera via URL, header och frågesträng.
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/productsVersionshantering 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.0Versionshantering 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.0Versionshantering 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.0Jä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 APIsSemantisk 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: trueStandardversion
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.0Versionshantera 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, ProductsV2ControllerKombinera 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 querySnabbtest
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.
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
- Strategier för API-versionering
- Konfigurera Asp.Versioning
- Generera OpenAPI-dokument
- Dokumentera versionshanterade API:er