Pular para o conteúdo principal

Doc Generate

O REST-DOC do tlppCore lê os metadados declarados no código TLPP e exporta a especificação OpenAPI via tlpp.doc.generate(). Exemplos em totvs/tlpp-sample-rest-documentation.

O que esta etapa oferece

CapacidadeO que resolve
Export OpenAPIYAML ou JSON a partir dos metadados do RPO
Rotas dinâmicastlpp.doc.List() documenta endpoints sem annotation
Filtro de rotasAllowlist (U_ListFilter) para exportar só as APIs desejadas
Snapshot de referênciaYAML no repo para o Explorador OpenAPI

Trilha sugerida

EtapaO que você aprendeComece em
1 — Classe RestDoc (oDoc)Objeto nativo para documentar endpoints (recomendado)Classe RestDoc
2 — CLIGerar OpenAPI pela linha de comando (CI/CD)CLI
3 — List dinâmicoAssociar DOC a rotas criadas em runtimeList dinâmico
4 — Filtro de rotasAllowlist no 6º parâmetro de generateFiltro de rotas
5 — OpenAPIFormato e conteúdo do YAML geradoOpenAPI
6 — Mapa de arquivosOnde cada exemplo do repo se encaixaMapa de arquivos

tlpp.doc.generate()

Função nativa que exporta toda a documentação coletada dos metadados para arquivo YAML ou JSON OpenAPI.

Gatilho HTTP

GET /rest/sample/doc/generate

Chama internamente tlpp.doc.generate(...) e grava o arquivo no servidor.

Parâmetro format

Aceita 'swagger' ou 'openapi' para YAML OpenAPI 3.x, e 'json' para JSON. Se omitido, assume 'openapi'.

Parâmetros

tlpp.doc.generate( format, fileName, [ports], [langs], [functionNameDOC], [functionNameFilter], [serviceTrace] )
ParâmetroFunção
format'swagger' / 'openapi' → YAML OpenAPI; 'json' → JSON. Default: 'openapi'
fileNamePrefixo do arquivo gerado (ex.: 'api_doc'api_doc_8080.yaml)
portsArray de portas a documentar — ex.: {8080}; omitir = todas
langsIdiomas para textos i18n — ex.: {'en-us','pt-br'}
functionNameDOCFunção tlpp.doc.List() para rotas dinâmicas — ex.: "U_ListDOCFunctions"
functionNameFilterAllowlist de path+método — ex.: "U_ListFilter" — ver Filtro de rotas
serviceTraceRastreia a documentação de um serviço específico (debug). Formato: "método:urn" — ex.: "get:/api/users". (novo no 01.07.01)

Orquestração típica

  1. Inicializar rotas dinâmicas (se houver) — ver List dinâmico
  2. (Opcional) Definir allowlist — ver Filtro de rotas
  3. Chamar tlpp.doc.generate(...) para exportar

O snapshot commitado neste repo está no Explorador OpenAPI e na referência YAML.

Exemplos no GitHub

Catálogo completo dos fontes .tlpp: Exemplos Doc Generate.

Próximo passo: List dinâmico