Zum Hauptinhalt springen
Der gleiche Handler kann auch HTTP-Anfragen beantworten. Wir werden zwei Routen hinzufügen:
  • ein POST Endpunkt der UI-Aufrufe, um ein Dokument zu generieren, und
  • ein öffentlicher GET Endpunkt, der ein Dokument als druckbare Webseite darstellt.
Beide verwenden httpRouteTriggerSettings. App-Routen werden über einen /s/-Pfad adressiert; auf lokalen und selbstgehosteten Instanzen wird dieser Pfad von Ihrem Twenty-Server bereitgestellt (z. B. http://localhost:2020/s/documents/generate). In Twenty Cloud löst RestApiClient den Pfad über die Funktionen-Domain des Workspaces auf.

POST-Route — bei Bedarf generieren

Dies verwendet generateDocumentHandler, also gibt es keine Logik zu wiederholen — nur ein dünner -Adapter, der den Request-Körper liest.
Der Shared-Handler gibt einen vorgeschlagenen status bei einem Fehler zurück, so dass die Route mit einem richtigen 4xx/5xx Code antworten kann. isAuthRequired: true bedeutet, dass der Anrufer ein gültiges Token vorweisen muss — die vorderste Komponente im nächsten Kapitel übergeht automatisch das Zugriffstoken des Benutzers.

GET-Route — als Webseite rendern

Um HTML anstelle von JSON zurückzugeben, wickeln Sie den Körper in eine Response mit einem Content-Type Header. Diese Route ist öffentlich (isAuthRequired: falsch), so dass ein generiertes Dokument als Link freigegeben werden kann.
documentHtmlPage stellt den Markdown-Text in HTML dar (mit marked, bereinigt) und lässt ihn in ein Reinigen druckbare Seite, die nur die Inhalte der Vorlage zeigt — das gleiche Aussehen wie die PDF und die In-App-Vorschau. Siehe den Helfer.

Testen

Mit einer Vorlage und einer Person im Arbeitsbereich rufen Sie die Route an (Benutzen Sie ein Token von Einstellungen → APIs & Webhooks):
Öffnen Sie das zurückgegebene Dokument in Ihrem Browser:
Eine gerenderte Dokumenten-Webseite

Die öffentliche GET-Route macht das Dokument als druckbare Seite.

Sie können auch Protokolle einer Funktion beim Testen mit yarn zwanzig dev:function:logs streamen oder direkt mit yarn zwanzig dev:function:exec aufrufen.
Nach diesem Schritt: Die App kann Dokumente über HTTP generieren und sie als Webseiten bedienen. Jetzt machen wir es brauchbar ohne curl.

Nächste: Bauen der UI →

Views, Navigation, ein Kommando und eine Frontkomponente.