Skip to main content
Этот же обработчик также может отвечать на HTTP-запросы. Мы добавим два маршрута:
  • POST конечная точка интерфейса для генерации документа, и
  • публичная GET конечная точка, которая отображает документ в виде печатной веб-страницы.
Оба используют httpRouteTriggerSettings. Маршруты приложения доступны по пути /s/; на локальных и самостоятельно размещенных инстансах этот путь обслуживается вашим сервером Twenty (например, http://localhost:2020/s/documents/generate). В Twenty Cloud RestApiClient разрешает путь через домен функций рабочего пространства.

Маршрут POST — генерировать по запросу

Это повторно использует generateDocumentHandler, так что нет логики повторять — просто тонкий адаптер, который читает тело запроса.
Общий обработчик при сбое возвращает предлагаемое значение status, чтобы маршрут мог ответить корректным кодом 4xx/5xx. isAuthRequired: true означает, что звонящий должен представить действительный токен — передний компонент в следующей главе передает токен доступа пользователя .

GET маршрут — отображается как веб-страница

Чтобы вернуть HTML вместо JSON, оберните тело в Response с заголовком Content-Type. Этот маршрут является публичным (isAuthRequired: false), так что сгенерированный документ может быть использован как ссылка.
documentHtmlPage отображает тело Markdown в HTML (с marked, увлажняет) и выбросит его в чистый, страница для печати, которая показывает только содержимое шаблона — так же, как и PDF и превью для приложений. См. помощник.

Попробовать

С помощью шаблона и персона в вашей рабочей области, вызовите маршрут (захватите токен из Settings → APIs и Webhooks):
Откройте возвращаемый документ в вашем браузере:
Веб-страница документа

Публичный GET маршрут отображает документ в виде страницы для печати.

Вы также можете транслировать журналы функций в процессе тестирования с помощью yarn twenty dev:function:logs или вызвать их напрямую с помощью yarn twenty dev:function:exec.
После этого шага: приложение может генерировать документы по HTTP и отдавать их как веб-страницы. Теперь давайте сделаем его пригодным для использования без curl.

Далее: построение пользовательского интерфейса →

Виды, навигация, команда и передний компонент.