Configuração INI e JSON
No Quickstart você configurou via INI. Aqui você entende cada seção e conhece a alternativa em JSON — uma ou outra, nunca as duas para o mesmo serviço.
| Caminho | Como sobe o REST |
|---|---|
| INI | Seções [HTTPSERVER], [HTTP_REST]… no appserver.ini — o AppServer lê no boot |
| JSON | Objeto JsonObject passado a VdrCtrl():Start(jo) — você chama em TLPP, no boot ou depois |
No caminho JSON, o único trecho comum no INI é o [OnStart] que agenda a função de start — isso não configura o REST, só dispara a rest.u_start no boot.
Hierarquia (vale para INI e JSON)
HTTPSERVER → Server → Location → ThreadPool → Environment (RPO)
| Nível | Papel |
|---|---|
HTTPSERVER | Liga o servidor HTTP no AppServer |
Server (ex.: HTTP_REST) | Porta, hostname, locations |
Location (ex.: HTTP_ROOT) | Prefixo de URL (Path), arquivos estáticos, thread pool |
| ThreadPool | Qual RPO atende (Environment) e MinThreads |
Caminho A — via INI
Usado no Quickstart. Cole no appserver.ini e reinicie o AppServer:
Chaves adicionais (SSL, slaves, logs, user exits): Referência INI. No caminho JSON, a mesma árvore em JsonObject: Referência JSON.
Caminho B — via JSON
Toda a árvore acima vai dentro de um JsonObject. Chame VdrCtrl():Start(jo) após o AppServer estar no ar (ou agende com [OnStart]). As chaves são case-sensitive — um erro de capitalização impede o start.
| INI | JSON |
|---|---|
[HTTPSERVER] Enable=1 | jo['HTTPSERVER']['Enable'] := 1 |
[HTTP_REST] port=9995 | jo['HTTP_REST']['port'] := 9995 |
[THREAD_POOL] Environment=ENV | jo['THREAD_POOL']['Environment'] := 'ENV' |
Para subir no boot sem REST no INI:
[OnStart]
Jobs=JOB1
[JOB1]
Main=rest.u_start
Environment=SEU_ENV
Qual caminho escolher?
| Situação | Recomendação |
|---|---|
| Serviço REST fixo, ambiente estável | INI |
| Config em código, múltiplos serviços, start sob demanda | JSON |
Migração WsRESTful, LoadURNs dinâmico | JSON — Sem annotation |
Exemplos no GitHub
Subida do serviço e primeiros endpoints em Primeiros passos:
totvs/tlpp-sample-rest — src/primeiros-passos/rest_start.tlpp
Próximo passo: Composição da URL