Hello World
Hello World
Abschnitt betitelt „Hello World“Ihre erste Wippy-Anwendung - eine einfache HTTP-API, die JSON zurückgibt.
Was wir bauen
Abschnitt betitelt „Was wir bauen“Eine minimale Web-API mit einem Endpunkt:
GET /hello → {"message": "hello world"}Projektstruktur
Abschnitt betitelt „Projektstruktur“hello-world/├── wippy.lock # Generierte Lock-Datei└── src/ ├── _index.yaml # Entry-Definitionen └── hello.lua # Handler-CodeSchritt 1: Projektverzeichnis erstellen
Abschnitt betitelt „Schritt 1: Projektverzeichnis erstellen“mkdir hello-world && cd hello-worldmkdir srcSchritt 2: Entry-Definitionen
Abschnitt betitelt „Schritt 2: Entry-Definitionen“Erstellen Sie src/_index.yaml:
version: "1.0"namespace: app
entries: # HTTP-Server - name: gateway kind: http.service addr: ":8080" lifecycle: auto_start: true
# Router - name: api kind: http.router meta: server: app:gateway prefix: /
# Handler-Funktion - name: hello kind: function.lua source: file://hello.lua method: handler modules: - http
# Endpunkt - name: hello.endpoint kind: http.endpoint meta: router: app:api method: GET func: app:hello path: /helloVier Einträge arbeiten zusammen:
gateway- HTTP-Server lauscht auf Port 8080api- Router an Gateway viameta.serverangebundenhello- Lua-Funktion die Anfragen behandelthello.endpoint- RoutetGET /hellozur Funktion
Schritt 3: Handler-Code
Abschnitt betitelt „Schritt 3: Handler-Code“Erstellen Sie src/hello.lua:
local http = require("http")
local function handler() local res = http.response()
res:set_content_type(http.CONTENT.JSON) res:set_status(http.STATUS.OK) res:write_json({message = "hello world"})end
return { handler = handler}Das http-Modul bietet Zugang zu Request/Response-Objekten. Die Funktion gibt eine Tabelle mit der exportierten handler-Methode zurück.
Schritt 4: Initialisieren und Ausführen
Abschnitt betitelt „Schritt 4: Initialisieren und Ausführen“# Lock-Datei aus Quellen generierenwippy init
# Runtime starten (-c für farbige Konsolenausgabe)wippy run -cSie sehen Ausgabe wie:
╦ ╦╦╔═╗╔═╗╦ ╦ Adaptive Application Runtime║║║║╠═╝╠═╝╚╦╝ v0.1.20╚╩╝╩╩ ╩ ╩ by Spiral Scout
0.00s INFO run runtime ready0.11s INFO core service app:gateway is running {"details": "service listening on :8080"}Schritt 5: Testen
Abschnitt betitelt „Schritt 5: Testen“curl http://localhost:8080/helloAntwort:
{"message":"hello world"}Wie es funktioniert
Abschnitt betitelt „Wie es funktioniert“gatewayakzeptiert die TCP-Verbindung auf Port 8080apiRouter matched den Pfad-Präfix/hello.endpointmatchedGET /hellohelloFunktion wird ausgeführt und schreibt JSON-Antwort
CLI-Referenz
Abschnitt betitelt „CLI-Referenz“| Befehl | Beschreibung |
|---|---|
wippy init | Lock-Datei aus src/ generieren |
wippy run | Runtime aus Lock-Datei starten |
wippy run -c | Mit farbiger Konsolenausgabe starten |
wippy run -v | Mit ausführlichem Debug-Logging starten |
wippy run -s | Im stillen Modus starten (keine Konsolenlogs) |
Nächste Schritte
Abschnitt betitelt „Nächste Schritte“- Echo-Service - Anfrageparameter behandeln
- Task-Queue - REST-API mit Hintergrundverarbeitung
- HTTP-Router - Routing-Muster