Optional: Einführung in die notwendigen Grundlagen von HTTP, HTTPS/SSL/TLS und REST
ASP.NET Core WebAPI im Überblick
- Vergleich mit der Windows Communication Foundation (WCF)
- Unterschiede zwischen REST und SOAP
- SOA versus Microservices
- Unterschiede zwischen WebAPI in ASP.NET und ASP.NET Core
Startcode einer ASP.NET Core-Anwendung
- Konzept der Middleware-Komponenten
- verschiedene Middleware-Komponenten verwenden
Erstellen von REST-Services mit Web-API
- Datenformate
- Parameterübergabe
- Formulardaten übergeben
- Automatisch Validierung
- Benutzerdefinierte serverseitige Validatoren
- Routing
- Kontrolle über HTTP-Nachrichten / Einsatz von Statuscodes
- Hilfeseite
- Konfigurieren der Anwendung
WebAPIs testen
- Testen im Browser
- Testen mit Werkzeugen wie Postman und Fiddler
Architektur
- Inversion Of Control durch Dependency Injection
- Repository Pattern
- Kapselung von Business-Logik in wiederverwendbare Module
Metadaten und Dokumentation
- Swagger OpenAPI
- NSwag und Swashbuckle
- Einsatz von Datenannotationen
- Client-Generierung mit NSwagStudio und Kommandozeilentools (aus JSON und Assembly, für .NET und TypeScript)
Web-APIs aufrufen in .NET-Anwendungen mit der HttpClient-Bibliothek
- 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
- Formate/Encoding (JSON, XML)
- Header festlegen
- Eigene HttpClient Message Handlers
WebAPIs aufrufen im Browser
- Mit JavaScript-Frameworks wie z.B. jQuery, Angular und React (wahlweise auch andere JavaScript-Bibliotheken)
- Mit ASP.NET Core Blazor
- Same Origin Policy und CORS
Aufbauwissen
- Ablaufverfolgung (Tracing)
- Cookies in WebAPIs
- File Upload / Multipart MIME
- Versionierung von REST-Diensten
- Web-API erweitern
- Entwickeln eigener Middleware-Komponenten
Hosting von REST-Services mit ASP.NET Web API
- Internet Information Services (IIS)
- Kestrel
- Self-Hosting
Sicherheit mit Web-API
- SSL
- ASP.NET Core Identity
- HTTP-Authentifizierung
- Windows-Authentifizierung
- OAuth
- Richtlinienbasierte Autorisierung via Policy
- Benutzerdefinierte Authentifizierungsarten
Optional: Praxisszenario "Microservices mit ASP.NET Core WebAPI und RabbitMQ"