Saltar para o conteúdo principal
O mesmo manipulador também pode responder solicitações HTTP. Vamos adicionar duas rotas:
  • um terminal POST aponta as chamadas da UI para gerar um documento e
  • um endpoint de GET público que renderiza um documento como uma página web impressa.
Ambos usam httpRouteTriggerSettings. As rotas do aplicativo são acessadas com um caminho /s/; em instâncias locais e auto-hospedadas, esse caminho é servido pelo seu servidor Twenty (por exemplo, http://localhost:2020/s/documents/generate). No Twenty Cloud, RestApiClient resolve o caminho por meio do domínio de funções do espaço de trabalho.

Rota POST - gerar sob demanda

Isso reusa generateDocumentHandler, então não há lógica para repetir — apenas um adaptador fino que lê o corpo da solicitação.
O manipulador compartilhado retorna um ‘status’ sugerido durante a falha, então a rota pode responder com um código 4xx/5xx apropriado. isAuthRequired: true significa que o chamador deve apresentar um token válido — o componente frontal no próximo capítulo passa o token de acesso do usuário automaticamente.

Via GET - renderizar como uma página da web

Para retornar HTML em vez de JSON, encapsule o corpo em um Response com um cabeçalho Content-Type. Esta rota é pública (isAuthRequired: false) para que um documento gerado possa ser compartilhado como um link.
documentHtmlPage renderiza o corpo do Markdown para HTML (com marked, sanitizado) e o coloca em um limpo, página imprimível que mostra apenas o conteúdo do modelo- a mesma aparência que o PDF e a visualização no aplicativo. Veja o ajudante.

Experimente isso

Com um modelo e uma pessoa em seu espaço de trabalho, chame a rota (pegue um token do Settings → APIs & Webhooks):
Abra o documento retornado no seu navegador:
Uma página renderizada do documento web

A rota GET pública renderiza o documento como uma página impressa.

Você também pode transmitir logs de uma função enquanto está testando com yarn twenty dev:function:logs, ou invocá-los diretamente com yarn twenty dev:function:exec.
Após esse passo: o aplicativo pode gerar documentos via HTTP e servi-los como páginas web. Agora vamos torná-lo utilizável sem curl.

Próximo: Construindo a interface do usuário →

Exibir, navegação, um comando e um componente inicial.