Asp.Versioningin määrittäminen
Määrittäkää versiointi ASP.NET Coreen.
Asp.Versioningin määrittäminen on ilmainen C# Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu C# Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. C# Academy-kurssilla on yhteensä 4 oppituntia.
Asp.Versioning-paketti
ASP.NET Coren API-versiointi toteutetaan yhteisön ylläpitämissä Asp.Versioning-paketeissa, jotka ovat Microsoft.AspNetCore.Mvc.Versioningin seuraaja.
dotnet add package Asp.Versioning.Mvc
dotnet add package Asp.Versioning.Mvc.ApiExplorerAddApiVersioning
Rekisteröi versiointi AddApiVersioning-metodilla. Asetukset määrittävät oletusversion ja puuttuvien versioiden käsittelyn.
builder.Services.AddApiVersioning(options =>
{
options.DefaultApiVersion = new ApiVersion(1, 0);
options.AssumeDefaultVersionWhenUnspecified = true;
options.ReportApiVersions = true;
});ReportApiVersions
ReportApiVersions = true lisää vastauksen otsakkeet api-supported-versions ja api-deprecated-versions, jotta asiakkaat voivat selvittää, mitä versioita on saatavilla.
// Response headers:
// api-supported-versions: 1.0, 2.0
// api-deprecated-versions: 1.0Versiolukijan valitseminen
ApiVersionReader määrittää, mistä versio luetaan. UrlSegmentApiVersionReader lukee version reitin polusta.
options.ApiVersionReader = new UrlSegmentApiVersionReader();Lukijoiden yhdistäminen
Hyväksy versio useasta paikasta yhtä aikaa käyttämällä ApiVersionReader.Combine-metodia.
options.ApiVersionReader = ApiVersionReader.Combine(
new UrlSegmentApiVersionReader(),
new HeaderApiVersionReader("X-Api-Version"),
new QueryStringApiVersionReader("api-version"));API Explorerin lisääminen
Ketjuta AddApiExplorer, jotta versiointi integroidaan OpenAPIen. Muotoilumerkkijono määrittää, miltä versioryhmien nimet näyttävät.
builder.Services
.AddApiVersioning(options => { /* ... */ })
.AddApiExplorer(options =>
{
options.GroupNameFormat = "'v'VVV";
options.SubstituteApiVersionInUrl = true;
});Ohjaimen versiointi
Merkitse ohjain attribuutilla [ApiVersion] ja lisää version paikkamerkki reittimalliin.
[ApiVersion(1.0)]
[Route("api/v{version:apiVersion}/products")]
public class ProductsV1Controller : ControllerBase
{
[HttpGet]
public IActionResult Get() => Ok(new { version = "1.0" });
}Toinen versio
Erillinen ohjain palvelee versiota v2 samassa reittimallissa. Segmentti {version:apiVersion} reitittää pyynnöt oikealle ohjaimelle.
[ApiVersion(2.0)]
[Route("api/v{version:apiVersion}/products")]
public class ProductsV2Controller : ControllerBase
{
[HttpGet]
public IActionResult Get() =>
Ok(new { version = "2.0", extra = true });
}Useita versioita yhdessä ohjaimessa
Yksi ohjain voi palvella useita versioita, kun yksittäiset toiminnot kohdistetaan attribuutilla [MapToApiVersion].
[ApiVersion(1.0)]
[ApiVersion(2.0)]
[Route("api/v{version:apiVersion}/orders")]
public class OrdersController : ControllerBase
{
[HttpGet, MapToApiVersion(1.0)]
public IActionResult GetV1() => Ok("v1");
[HttpGet, MapToApiVersion(2.0)]
public IActionResult GetV2() => Ok("v2");
}Version merkitseminen vanhentuneeksi
Merkitse versio vanhentuneeksi ilmoittaaksesi sen käytöstä poistamisesta ja pidä se samalla toimivana.
[ApiVersion(1.0, Deprecated = true)]
[ApiVersion(2.0)]
[Route("api/v{version:apiVersion}/products")]
public class ProductsController : ControllerBase { }Minimal API -rajapintojen versiointi
Minimal API -rajapinnoissa käytetään versiojoukkoa, joka luodaan komennolla NewApiVersionSet. Sen jälkeen versiot liitetään päätepisteisiin.
var versionSet = app.NewApiVersionSet()
.HasApiVersion(new ApiVersion(1, 0))
.HasApiVersion(new ApiVersion(2, 0))
.Build();
app.MapGet("/api/v{version:apiVersion}/ping", () => "pong")
.WithApiVersionSet(versionSet)
.MapToApiVersion(2.0);Pikatarkistus
Varmista, mihin AddApiExploreria käytetään.
Kertaus
Määritit Asp.Versioningin asetukset:
AddApiVersioningmäärittää oletusversion ja raportoinnin.ApiVersionReader.Combinelukee versiot URL-osoitteesta, otsakkeesta tai kyselyparametrista.[ApiVersion]ja{version:apiVersion}reitittävät pyynnöt, ja[MapToApiVersion]kohdistaa ne toimintoihin.- Minimal API -rajapinnoissa käytetään versiojoukkoa.
Seuraavaksi: OpenAPI-dokumenttien luominen.
Opi C# tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 93
- Oppitunnit
- 346
Usein kysytyt kysymykset
Onko oppitunti ”Asp.Versioningin määrittäminen” ilmainen?
Kyllä – oppitunnin ”Asp.Versioningin määrittäminen” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko C# Academy-kurssin, päivitä CoddyKit PROhon. C# Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Asp.Versioningin määrittäminen”?
Määrittäkää versiointi ASP.NET Coreen. Harjoittelet C# Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni C# Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin C# Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Asp.Versioningin määrittäminen”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä C# Academy-oppitunnilla?
Kyllä. Jokainen C# Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- API-versiointistrategiat
- Asp.Versioningin määrittäminen
- OpenAPI-dokumenttien luonti
- Versioitujen API-rajapintojen dokumentointi