JSON retornado pela função DOC
Quando description="[NomeFunc_DOC]", o motor executa a função e espera um JSON com os campos OpenAPI do endpoint.
Como montar o JSON
Use JsonObject():New() e :toJson() — não concatene strings manualmente. Objetos nativos garantem JSON válido.
local jDoc := JsonObject():New()
jDoc['title'] := "DOC simples 04"
jDoc['params'] := { jParamQuery, jPathParam }
return jDoc:toJson()
Campos suportados
| Campo | Função |
|---|---|
title | Título do endpoint |
description | Texto descritivo |
description1…N | Descrição longa em blocos numerados |
params | Array de parâmetros (name, in, type, required, …) |
requestBody | Corpo da requisição (Content-Type, schema ou component) |
responses | Array de respostas (statusCode, description, schemas) |
Multi-linha — regra crítica
Ao usar description1, description2, description3, … não salte números. Se pular do description3 para o description5, o motor interrompe silenciosamente no gap.
translate: no JSON
Chaves no formato translate:Funcao:ID:texto são resolvidas pelo dicionário i18n — ver i18n.
Exemplo no GitHub
totvs/tlpp-sample-rest-documentation — src/rest/03_dedicated_function_doc/advanced/complete_api_DOC.tlpp
Exemplos no GitHub
Fontes .tlpp da abordagem: Função DOC · básico · avançado.