emanote/content/Coding/OpenAPI.md

24 lines
838 B
Markdown

# Openapi-generator
## Idee hinter einem API-Generator
[[TODO]] Idee hinter einem API-Generator
## Theorie und Praxis
[[TODO]] Theorie und Praxis
## Spezialfall in Haskell
[[TODO]] Veraltet
Wie im [[Webapp-Example]] kurz angerissen wird in Haskell nicht zwischen Server
und Client unterschieden. Daher können hier sehr viele Optimierungen bei
Änderungen passieren, die in anderen Sprachen nicht so einfach möglich sind.
Die generierte Library hat die Funktionen, die ein Client braucht direkt dabei
und man muss lediglich die Verbindung initialisieren (Callback für
Network-Requests, Serveradresse etc.) und kann dann direkt alle Funktionen
benutzen. Partial Application hilft hier massiv und man bekommt z.b. Für die
Beispiel-Tierhandlung aus dem ursprünglichem `getPet :: ` direkt so etwas wie `getPet :: PetID -> IO Pet`