Save 37% off PRO during our Black Friday Sale! »

Thinktecture Webinar: API Versionierung in .NET 5

Thinktecture Webinar: API Versionierung in .NET 5

Slides zu meinem Webinar.

Ebeb5d8fd081058ba8df73d378bf83d7?s=128

Sebastian P.R. Gingter

March 10, 2021
Tweet

Transcript

  1. None
  2. 2 in .NET 5 ▪ ▪ ▪ ▪ ▪ ▪

    ▪ ▪ ▪ Twitter:
  3. 3 ▪ ▪ ▪ ▪ ▪ in .NET 5

  4. 4 in .NET 5

  5. 5 • Anforderungen ändern sich • APIs verändern sich zwangsläufig

    mit • Breaking changes können nicht ausgeschlossen werden in .NET 5 • Bei (öffentlichen) APIs, deren Clients nicht unter eigener Kontrolle sind P
  6. 6 • Endpunkte • Entfernen von Endpunkten • Hinzufügen von

    neuen Pflichtparametern • Änderungen am Verhalten von Endpunkten • Datenmodell • Entfernen oder Umbenennen von vorher gelieferten Daten • Ändern von Datentypen • Hinzufügen neuer Pflichtdaten beim Empfang (entweder ganz neu oder vorher optional) • [Hinzufügen von neuen Daten beim Senden, für unflexible Clients] in .NET 5
  7. 7 in .NET 5

  8. 8 in .NET 5

  9. 9 in .NET 5

  10. 10 in .NET 5

  11. 11 in .NET 5 P

  12. 12 in .NET 5

  13. 13 • Mittels externer Bibliothek • NuGet: Microsoft.AspNetCore.Mvc.Versioning • GitHub:

    https://github.com/microsoft/aspnet-api-versioning • Hinweis • Paket stammt nicht vom ASP.NET Core Team • Nicht im aspnet/AspNetCore Repository • Kein offizielles von Microsoft supportetes Paket • Gewartet von einem Microsoft Entwickler aus dem Bing-Team in .NET 5
  14. 14 • Version • [Version Group.]<Major>.<Minor>[-Status] • <Version Group>[.<Major>[.Minor]][-Status] •

    Version Group • YYYY-MM-DD • Beispiele: • 1.0 • 2.1-RC1 • 2019-11-07.1 • 2019-11-07.2.1-Alpha in .NET 5
  15. 15 • Version kann festgelegt warden • Auf einem Controller

    • Auf einer einzelnen Action • Ermöglicht • Einen Controller pro Version • Mehrere Action-Versionen auf einem Controller • Beliebig mischbar • Angefragte, aber nicht gefundene Version liefert einen 400 Bad Request • Default-Version kann optional konfiguriert werden • Es gibt viele weitere Konfigurations- und Anpassungsmöglichkeiten in .NET 5
  16. 16 ▪ ▪ ▪ ▪ ▪ in .NET 5

  17. 31 in .NET 5

  18. 32 • API-Versionierung ist nicht immer notwendig • Es gibt

    verschiedene Arten der Versionsauswahl • There’s a NuGet for that • Allerdings nicht offiziell vom ASP.NET Core Team • Verwendung benötigt wenig Code • Aber etwas Gehirnschmalz bei der Planung in .NET 5 1:1
  19. None