Skip to main content
相同的处理程序也可以回答 HTTP 请求。 我们将添加两个路由:
  • a POST 让UI 调用来生成文档的端点,和
  • 一个公开的 GET 端点,将文档作为可打印的网页。
两者都使用 httpRouteTriggerSettings 。 应用路由使用 /s/ 路径;在本地和自托管实例上,该路径由你的 Twenty 服务器提供服务(例如:http://localhost:2020/s/documents/generate)。 在 Twenty Cloud 上,RestApiClient 通过工作区的 functions 域名来解析该路径。

POST 路由 — 按需生成

这会重用`generateDocuments Handler’,所以没有重复的逻辑——只是一个能读取请求正文的薄 适配器。
共享处理程序在失败时会返回建议的 status,因此路由可以使用适当的 4xx/5xx 状态码进行响应。 isauth:true是指调用者 必须提供一个有效的令牌——下一章的前面组件自动通过 用户的访问令牌。

GET 路由 — 渲染为网页

若要返回HTML而不是JSON,将物体用 Content-Type标头包装Response。 此路由是公开的(isauth:必填:false),所以 生成的文档可以作为链接共享。
documentHtmlPage将Markdown体变成HTML(带 marked, 净化) 只显示模板 内容的可打印页面——与 PDF 和应用程序内预览相同。 参见辅助函数

试试

在您的工作区内有一个模板和一个人, 调用路由(从 设置 -> API 和 Webhooks获取一个令牌):
在您的浏览器中打开返回的文档:
呈现的文档页面

公开的 GET 路由使文档成为一个可打印的页面。

您也可以在测试 yarn 20dev:functions:logs时串流函数日志,或直接通过 yarn 20dev:function:exec 直接调用。
在这一步之后: 应用程序可以通过 HTTP 生成文档并以 网页服务。 现在让我们让它在没有“curl”的情况下可以使用。

下一步:构建界面→

查看、导航、命令和前端组件。