Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 2 Próxima »

Configuração Rest Server TLPP via JSON


Iremos utilizar a mesma configuração feita no item anterior.

O REST server disponibiliza o recurso de subir um serviço REST através de execução dinâmica, ou seja, após a subida completa do servidor é possível indicar a subida de mais serviços REST a hora que desejar.

Esse modo é feito através de código-fonte e no processo de subida é preciso informar a configuração desejada através de um JSON.

Segue exemplo:

Inicialização de um serviço REST dinamicamente

#include "tlpp-core.th"

user function fInitService()

 local oVdrCtrl := VdrCtrl():New()
 local cAppPath := "/examples"
 local nResult := -1
 local jConfig

 jConfig['HTTPSERVER']                     := JsonObject():New()
 jConfig['HTTPSERVER']['Enable']           := .T.
 jConfig['HTTPSERVER']['Servers']         := {"INIT_HTTP_REST"}
 
 jConfig['INIT_HTTP_REST']                 := JsonObject():New()
 jConfig['INIT_HTTP_REST']['Port']         := "9995"
 jConfig['INIT_HTTP_REST']['HostName']     := "TLPP_REST_SERVER"
 jConfig['INIT_HTTP_REST']['Locations'] := {"HTTP_ROOT"}

 jConfig['HTTP_ROOT']                     := JsonObject():new()
 jConfig['HTTP_ROOT']['Path']             := cAppPath
 jConfig['HTTP_ROOT']['RootPath']         := "C:\tlppCore\bin\root\web"
 jConfig['HTTP_ROOT']['ThreadPool']       := "THREAD_POOL"

 jConfig['THREAD_POOL']                   := JsonObject():new()
 jConfig['THREAD_POOL']['MinThreads']     := 1

 
 /* -----------------------------------------------------------
 Aqui é feita a chamada para a função responsável por criar o
 vinculo entre URN´s e as aplicações
 */
 jConfig['INIT_HTTP_REST']['LoadURNs']             := JsonObject():new()
 if !(sLoadURNs(@jConfig['INIT_HTTP_REST']['LoadURNs']))
   Return Nil
 endif
 /*------------------------------------------------------------*/

 nResult := oVdrCtrl:Start(jConfig)
     
 if ( ValType(nResult) == 'N' .and. nResult == 0 )
   conout("### Servidor HTTP inicializado com sucesso!")
 else
conout("### Erro ao inicializar HTTP server [" + cValToChar(nResult) + "] - " + cValToChar(oVdrCtrl:getControlErrCode()) + " - " + oVdrCtrl:getControlErrDesc() )
 endif

return nResult


Para saber mais sobre LoadURNs, acesse a documentação REST sem uso de annotation.

  • Sem rótulos