Pular para o conteúdo principal

Quickstart

Neste guia você sobe um serviço REST no AppServer e responde Hello World a uma requisição HTTP. Não é necessário conhecer OAuth, callbacks nem OpenAPI — só o básico de TLPP e do appserver.ini.

Trilha deste bloco (Começando)

EtapaO que você aprendeComece em
1 — QuickstartPrimeiro endpoint em minutosEsta página
2 — ConfiguraçãoINI vs JSON, seções do AppServerConfiguração
3 — Composição da URLPath virtual + endpointComposição da URL
4 — Avisos e dicasCuidados antes de avançarAvisos e dicas

O que é REST (em uma frase)

REST é uma forma de expor funções do seu RPO pela internet usando URLs e verbos HTTP (GET, POST…). O cliente chama uma URL; o AppServer executa sua função e devolve JSON (ou outro formato).

O que você vai precisar

ItemPara quê
AppServer com TLPPExecutar o REST
tlpp.rpo na pasta do appserver.exeRuntime TLPP
Includes tlpp-core.th e tlpp-rest.thCompilar código REST
Editor de texto + acesso ao appserver.iniConfigurar a porta HTTP
Navegador, Postman ou curlTestar o endpoint

Pré-requisitos no projeto

  1. tlpp.rpo copiado para a pasta do appserver.exe
  2. Includes TLPP no projeto (tlpp-core.th, tlpp-rest.th)

Passo 1 — Ative o HTTP no AppServer

Cole o bloco abaixo no appserver.ini ao lado do executável. Ajuste Environment= para o ambiente do seu RPO:

[HTTPSERVER]
Enable=1
Servers=HTTP_REST

[HTTP_REST]
hostname=localhost
port=9995
locations=HTTP_ROOT

[HTTP_ROOT]
Path=/
RootPath=root/web
ThreadPool=THREAD_POOL

[THREAD_POOL]
Environment=ENV
MinThreads=1

Reinicie o AppServer após salvar o INI.

O que esse INI faz

Liga o servidor HTTP na porta indicada e associa um path virtual (prefixo da URL) ao ambiente RPO onde suas funções estão compiladas. Detalhes em Configuração INI e JSON.

Passo 2 — Crie o endpoint

Crie uma função com a annotation @Get — ela registra a rota e o verbo HTTP:

#include "tlpp-core.th"
#include "tlpp-rest.th"

@Get("hello")
User Function hello()
oRest:setResponse('{"message":"Hello World"}')
Return .T.
  • @Get("hello") — a rota será /hello (somada ao path virtual do INI)
  • oRest:setResponse(...) — corpo da resposta HTTP (JSON neste exemplo)
  • Return .T. — indica sucesso na execução da função

Compile no RPO e recarregue o ambiente.

Passo 3 — Teste

Se o INI usa port=9995 e Path=/ (como no exemplo mínimo):

GET http://localhost:9995/hello

Resposta esperada: {"message":"Hello World"}

Se você configurou um Path diferente (ex.: /api), a URL fica http://localhost:9995/api/hello — veja Composição da URL.

Se não funcionar

SintomaVerifique
404RPO recompilado e ambiente recarregado; URL com o Path correto do INI
Conexão recusadaAppServer rodando e port= igual ao que você testa
500Console do AppServer — erro na função hello

Exemplos no GitHub

Mais variações (função, classe, start do serviço) em Primeiros passos:

Próximo passo: Configuração INI e JSON — entenda cada seção do INI e o caminho alternativo via JSON.