Á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 4 Próxima »

O corpo da mensagem de retorno é uma das duas principais forma de retornar informação para o requisitante, e é muito simples de utilizar.

Existem alguns métodos responsáveis para tal finalidade, sendo:

  • Específicos para somente a mensagem

  • Envolve também o código da mensagem

    • oRest:setFault()
      Alimenta a mensagem de retorno, porém como você está indicando que ocorreu um erro, modifica o Código de Status do HTTP como 500.

    • oRest:resetResponse()
      Além de apagar a mensagem setada até o momento, modifica o Código de Status do HTTP para o status inicial, ou seja, 200.


Abaixo iremos demonstrar o uso de oRest:setResponse() e oRest:resetMessageResponse()

Exemplo 1 (simples)

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

@get("sample/setResponse_1")
user function sampleSetResponse_1()

 local cReturn := '{"sample":"1"}'

 oRest:setResponse( cReturn )
return


Exemplo 2 (resposta segmentada)

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

@get("sample/setResponse_2")
user function sampleSetResponse_2()

 local cReturn := ''

 oRest:setResponse( '{"sample":"' )
   if ( '_2' $ procname() )
     oRest:setResponse( '2' )
   else
     oRest:setResponse( 'unknown' )
   endif
 oRest:setResponse( '"}' )
return

Note que nesse exemplo, a mensagem foi sendo construída em partes, ou seja, oRest:setResponse() vai concatenando as mensagens enviadas.


Exemplo 3 ("resetando" a resposta)

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

@get("sample/setResponse_3")
user function sampleSetResponse_3()

 local cReturn := ''

 oRest:setResponse( '{"sample":"0"}' )

 // Reseta mensagem
 oRest:resetMessageResponse()
 oRest:setResponse( '{"sample":"3"}' )
return

Note que nesse exemplo, a mensagem foi supostamente construída errada, porém, para modificar ela por inteiro, é preciso resetar a mensagem setada até o momento para poder setar com o conteúdo novo.

  • Sem rótulos