Kiota-Client
Das Schulware-Plugin spricht mit SchulwareAPI über einen Kiota-generierten Client unter src/Schuly.Plugin.Schulware/Client/. Der generierte Code wird committet; die OpenAPI-JSON nicht - regeneriere immer direkt von der Live-URL.
Erste Generierung
cd src/Schuly.Plugin.Schulware
kiota generate \
--openapi https://schlwr.pianonic.ch/openapi.json \
--language CSharp \
--output Client \
--namespace-name Schuly.Plugin.Schulware.Client \
--class-name SchulwareApiClientDas erzeugt Client/SchulwareApiClient.cs, die Request-Builder unter Client/Api/, die DTOs unter Client/Models/ und eine Client/kiota-lock.json, die die Quell-URL, die Generator-Version und den verwendeten Serializer-/Deserializer-Satz festhält.
Aktualisieren nach einer API-Änderung
Sobald die Lockfile existiert, führe von innerhalb von Client/ erneut aus:
cd src/Schuly.Plugin.Schulware/Client
kiota updatekiota update liest kiota-lock.json und generiert gegen denselben descriptionLocation (die Live-OpenAPI-URL) mit den festgehaltenen Optionen neu - gleichbedeutend mit einem erneuten Aufruf von kiota generate.
Regeln
- Committe niemals lokal die OpenAPI-JSON. Die Generierung liest sie immer von der Live-URL, damit der Client dem deployten Stand der API folgt.
- Die Kiota-Laufzeitpakete (
Microsoft.Kiota.*) sindPackageReferences inSchuly.Plugin.Schulware.csproj; halte ihre Versionen kompatibel mit dem Generator. - Eine Regenerierung ist eine Code-Änderung wie jede andere - folge dem Contributing-Workflow.
