Olá, boa tarde.
Estou aprendendo TLPP aqui e estou tentando jogar um JSON de uma Service para a minha Controller. Eu fiz da seguinte forma, primeiro, defini a Controller que criou a API com sucesso, e está recebendo os argumentos do REQUEST como deveria (Tirei partes que acho que não é necessário p/ entendimento):
Method get() as Logical Class SolicitacaoArmazemController
// Setar Empresa e Filial no começo do App (Necessário)
rpcSetEnv(cEmpAnt, cFilAnt)
ConOut("SolicitacaoArmazemController:get - Coletando os Parametros da Query e do JSON Body")
// Etc
// Simular o jResponse (O JSON que tem na Classe) pra simular a resposta.
// Inicialmente, trago da Service para testes e entendimento da arquitetura.
Local cResponseJson as Json
// Etc
// Retornar um JSON criado pela Service
cResponseJson := SolicitacaoArmazem:get()
cTesteChegouAqui := "Sim ou não?"
ConOut("SolicitacaoArmazemController:get - Configurando os Headers e a Response")
oRest:setKeyHeaderResponse('Content-Type', 'application/json; charset=utf-8')
oRest:setResponse(cResponseJson)
// Resetar a Empresa/Filial e liberar licenças utilizadas.
rpcClearEnv()
Return .T.
E ai na minha Service
eu crio um JSON pra testes, que eu passo para a minha Controller
:
class SolicitacaoArmazemService
Public Data jResponse as Json
Public method new() as Object
Public method get() as Json
EndClass
Method new() as Object Class SolicitacaoArmazemService
ConOut("SolicitacaoArmazemService:new - Construindo a Service e instanciando JsonObject...")
::jResponse := JsonObject():New()
Return Self
Method get() as Json Class SolicitacaoArmazemService
Local jResponse := '[{"Mensagem":"Hello World!"}]'
Return ::jResponse
Porém, ele não vai pra frente na linha cResponseJson := SolicitacaoArmazem:get()
.
Informações adicionais:
No Debug, ele quando chega na linha em questão tem o cResponseJson
definido como Nil
, e na linha seguinte ele para de executar e não preenche o cTesteChegouAqui
. Vejam a imagem: