Visão geral dos metadados
O REST-DOC do tlppCore lê metadados no seu código TLPP e monta a especificação OpenAPI. Os exemplos desta trilha vivem em totvs/tlpp-sample-rest-documentation.
O que o Doc Generate oferece
Capacidades do produto — não é o mapa de leitura (esse está na trilha abaixo).
| Capacidade | O que resolve |
|---|---|
| Metadados no código | Documentação junto da rota (description, params, responses) |
| Quatro formas de documentar | Annotation, i18n, função _DOC ou rotas dinâmicas |
| Schemas reutilizáveis | TLPP COMPONENT referenciado no JSON DOC |
| Export OpenAPI | tlpp.doc.generate() gera YAML/JSON consumível por ferramentas |
Trilha sugerida
Uma ordem só — de declarar metadados até exportar o OpenAPI. O menu DOC GENERATE espelha essa sequência.
| Etapa | O que você aprende | Comece em |
|---|---|---|
| 1 — Description | Como apontar a documentação do endpoint | Description |
| 2 — Annotation REST | Metadados inline em @Get / @Post | Annotation REST |
| 3 — JSON DOC | Função _DOC com documentação rica | JSON DOC |
| 4 — I18n | Textos traduzíveis (translate:…) | I18n |
| 5 — Componentes | Schemas reutilizáveis | Componentes |
| 6 — Geração OpenAPI | tlpp.doc.generate(), list dinâmico e YAML | Doc Generate |
Quatro formas de documentar
- Annotation tradicional — metadados inline na
@Get/@Put - Dicionário i18n —
description="<ID>"aponta para blocosTRANSLATE - Função dedicada
_DOC— JSON montado em função separada (recomendado para APIs reais) - Rotas dinâmicas —
tlpp.doc.List()liga endpoint + método + função DOC (List dinâmico)
Regras importantes
- Prefira
JsonObject():New()em funções DOC — evita JSON inválido por vírgula faltando - Multi-linha: não pule números em
descriptionN— o motor para no primeiro gap - Geração: o 1º parâmetro de
tlpp.doc.generatedeve ser'swagger'— ver Doc Generate
Exemplo no GitHub
totvs/tlpp-sample-rest-documentation — src/rest/03_dedicated_function_doc/advanced/complete_api_DOC.tlpp
Exemplos no GitHub
Catálogo completo dos fontes .tlpp: Exemplos Doc Generate.
Próximo passo: Description