Abaixo apresentamos a configuração mínima exigida para subir um serviço REST. (Para detalhes avançados, consulte posteriormente o tópico de Configuração Completa).
Copie o trecho abaixo e cole em seu arquivo appserver.ini, localizado no mesmo diretório do seu appserver.exe:
A seguir iremos expor somente a configuração mínima exigida para subir um serviço REST.
[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
1. HTTPSERVER
Esta é a seção raiz que habilita o funcionamento do REST Server no AppServer.
Chave | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| Integer | Sim | Define se o HTTPServer será ativado na inicialização. Valores válidos: 1 (Ativado) ou 0 (Desativado). |
| String | Sim | Recebe os nomes dos servidores que serão ativados. O nome informado nesta chave (ex: |
2. HTTP_REST
Aqui são definidas as características físicas de rede (HTTP ou HTTPS) para o servidor nomeado na secção anterior.
Chave | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| Integer | Sim | Porta em que o serviço receberá as requisições (ex: 9995). |
| String | Sim | Nome virtual do servidor (ex: localhost, IP ou domínio de rede). |
| String | Sim | Aponta para as secções de rotas (locations) associadas a esta porta. O nome informado nesta chave (ex: |
3. HTTP_ROOT
Configura o roteamento raiz e a natureza dos ficheiros distribuídos.
Chave | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| String | Sim | Define o caminho (Path) da URL que servirá como base do endpoint (ex. /getUsers). |
| String | Sim | Caminho físico no disco onde ficam armazenados os ficheiros de páginas estáticas. |
| String | Sim | Define qual Pool de Threads responderá a esta Location. Novamente, o nome desta chave (ex: |
4. THREAD_POOL
Vincula as chamadas do serviço REST ao ambiente de execução do Protheus e garante os recursos (lógicos e virtuais).
Chave | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| String | Sim | Nome do ambiente (environment) do dicionário de dados (RPO) onde o REST irá trabalhar e autenticar rotinas. |
| Integer | Sim | Quantidade inicial e mínima de threads dedicadas no pool. O valor deve ser obrigatoriamente maior que 0 (zero). |