Přejít na hlavní obsah
Stejný handler může také odpovědět na HTTP požadavky. Přidáme dva trasy:
  • POST koncový bod uživatelského rozhraní volá, aby vytvořilo dokument, a
  • veřejný GET koncový bod, který vykresluje dokument jako tiskovou webovou stránku.
Oba použijte httpRouteTriggerSettings. Trasy aplikace jsou dostupné pomocí cesty /s/; na lokálních a self-hostovaných instancích tuto cestu obsluhuje váš server Twenty (např. http://localhost:2020/s/documents/generate). Ve Twenty Cloudu RestApiClient sestavuje cestu prostřednictvím domény funkcí pracovního prostoru.

POST trasa – generovat na požádání

Toto znovu používá generateDocumentHandler, takže není logika opakovat - jen tenký adaptér, který čte tělo požadavku.
Sdílený handler vrátí navržený status při selhání, takže trasa může odpovědět správným 4xx/5xx kódem. isAuthRequd: true znamená, že volající musí prezentovat platný token — přední komponenta v další kapitole automaticky prochází přístupovým tokenem uživatele .

Cesta GET – vykreslit jako webovou stránku

Chcete-li vrátit HTML místo JSON, zabalte tělo do Response pomocí Content-Type hlavičky. Tato cesta je veřejná (isAuthRequd: false), takže generovaný dokument může být sdílen jako odkaz.
documentHtmlPage vykresluje Markdown tělo na HTML (s marked, zmaskoval) a klesne do čistého, vytisknutelná stránka, která zobrazuje pouze obsah šablony – stejný vzhled jako PDF a náhled v aplikaci. [Viz pomocník] (https://github.com/twentyhq/twenty/blob/main/packages/twenty-apps/examples/document-generator/src/utils/render-document.ts).

Vyzkoušejte

Pomocí šablony a osoby ve vašem pracovním prostoru zavolejte na trasu (získejte token z Nastavení → API a Webhooks):
Otevřete vrácený dokument ve vašem prohlížeči:
Vykreslená webová stránka dokumentu

Veřejná trasa GET vykresluje dokument jako tiskovou stránku.

Během testování s yarn twenty dev:function:logs, nebo vyvolat přímo s yarn twenty dev:exec.
Po tomto kroku: aplikace může generovat dokumenty přes HTTP a sloužit jako webové stránky. Nyní ho použijeme bez curl.

Další: budování UI →

Zobrazení, navigace, příkaz a přední součást.