ASP.NET Core WebAPI Schulung
Schulungsziel
Nach diesem Seminar verfügen die Teilnehmer über die Informationen, eine serverseitige Anwendung mit ASP.NET 6 oder 7 zu erstellen, einen Überblick über die Architektur einer mehrschichtigen Webanwendung incl. der Anbindung einer Datenbank oder einer anderen externen Datenquelle, verschiedene Verfahren zur Authentication sowie einen Überblick über die Entwicklungsmöglichkeiten von WebAPI Clients mit C# und TypeScript.
Zielgruppe
Dieses Seminar richtet sich an Applikationsentwickler die serverseitige plattformübergreifende und clientseitige Anwendungen basierend auf ASP.NET Core Technologie entwickeln möchten. Für diesen Kurs sollten C# Syntaxkenntnisse sowie die grundlegende Bedienung von Visual Studio oder Visual Studio Code bekannt sein.
Entwicklungsumgebung
- Windows 10 / 11, MacOS oder Linux
- Visual Studio 2021 oder Visual Studio Code
- ASP.NET Core 7 oder 6
- C# 9.0 oder neuer
- Swagger / NSwag
Methodik
Das Seminar besteht aus einem theoretischen Vortrag und Präsentation mittels Folien gemischt mit Beispielen und Demonstrationen durch den Dozenten sowie einem interaktivem Übungsanteil in dem die Teilnehmer das erlernte Wissen in die Praxis umsetzen können. Das Seminar kann auf Wunsch nach vorheriger Absprache individuell auf den Bedarf der Teilnehmer angepaßt werden.
Beispielagenda für 3 Schulungstage
- ASP.NET WebAPI im Überblick
- Vergleich mit der Windows Communication Foundation (WCF)
- Unterschiede zwischen REST und SOAP
- Startcode einer ASP.NET Core-Anwendung
- Konzept der Middleware-Komponenten
- verschiedene Middleware-Komponenten verwenden
- eigene Middleware erstellen
- Erstellen von REST-Services mit Web-API
- Datenformate (JSON vs. XML)
- Parameterübergabe
- Formulardaten übergeben
- Benutzerdefinierte serverseitige Validatoren
- Routing
- Kontrolle über HTTP-Nachrichten
- Konfigurieren der Anwendung
- Ablaufverfolgung - Protokollierung (Logging)
- WebAPIs verwenden
- Browser
- Werkzeuge wie Postman und/oder Fiddler
- .NET und TypeScript Clients
- Architektur
- Inversion Of Control durch Dependency Injection
- Repository Pattern
- Kapselung von Business-Logik in wiederverwendbare Module
- Metadaten und Dokumentation
- Swagger vs. OpenAPI
- NSwag
- Client-Generierung mit NSwagStudio und Kommandozeilentools (aus JSON und Assembly, für .NET / XAMARIN und TypeScript)
- Web-APIs aufrufen in .NET-Anwendungen mit der HttpClientBibliothek
- Nuget-Pakete Microsoft.Net.Http, Microsoft.AspNet.WebApi.Client
- unterstützte Betriebssysteme / Plattformen
- Aufrufe mit GET, POST, PUT, DELETE u.a.
- Statuscodes
- Komplexe Typen
- Objekte serialisieren/deserialisieren
- Aufbauwissen
- Cookies
- File Upload / Multipart MIME
- Hosting von REST-Services mit ASP.NET Web API
- Internet Information Services (IIS)
- Self-Hosting
- Sicherheit mit Web-API
- SSL / HTTPS
- ASP.NET Core Identity
- HTTP-Authentizierung
- Windows-Authentifizierung
- OAuth
- Richtlinienbasierte Autorisierung via Policy
- Benutzerdefinierte Authentifizierungsarten
- Optional: Verwenden von MVC Controllern
- Optional: Erstellen von Razor-Seiten