Páginas filhas
  • LGX - LRESTLOGIXRESPONSE

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Pagetitle
LGX - LRESTLOGIXRESPONSE
LGX - LRESTLOGIXRESPONSE

Nota

Componente disponível a partir da versão 12.1.13 do Logix.

Componente utilizado para criação do retorno das requisições REST no formato JSON, com base em informações repassadas para montagem como STATUS, PAYLOAD, MESSAGE.

Para saber mais sobre REST LOGIX acesse Guia de Desenvolvimento de APIs para o produto Logix.

Hierarquia



Sintaxe


Bloco de código
LET m_restresponse_reference = _ADVPL_create_component(NULL,"LRESTLOGIXRESPONSE")


Métodos GET


Métodos acessíveis através da função _ADVPL_get_property que permite recuperar e manipular os valores do componente:


Expandir
titleGENERATE

Método GET: GENERATE 
Âncora
LRESTLOGIXRESPONSE_GET_GENERATE
LRESTLOGIXRESPONSE_GET_GENERATE

Efetua a geração do retorno da requisição REST, com base nas informações de PAYLOAD, MESSAGE e STATUS já previamente setados.

Sintaxe


Bloco de código
_ADVPL_get_property(< l_reference >, "GENERATE" ) => CHAR

Retorno


TipoDescrição
CHAR

Conteúdo texto gerado no formato JSON, que será utilizado como retorno do resultado da requisição REST, já convertido no formato UTF8.

Exemplo


Bloco de código
languageapplescript
titleExemplo GET GENERATE
linenumberstrue
#------------------------------------------------------------------------------#
FUNCTION LRESTLOGIXRESPONSE_getGENERATE()
#------------------------------------------------------------------------------#
    DEFINE l_json_reference VARCHAR(10)
    DEFINE l_logix_response VARCHAR(10)
    DEFINE l_json CHAR(1000)
     
    #--# Utilização do método SERIALIZE da classe LJSONOBJECT  #--#
    LET l_json = _ADVPL_get_property(l_json_reference,"SERIALIZE")
     
    #--# Criação da resposta padronizada utilizando a classe LRestLogixResponse  #--#
    LET l_logix_response = _ADVPL_create_component(NULL,"LRestLogixResponse")
    CALL _ADVPL_set_property(l_logix_response,"PAYLOAD",l_json)
 
    #--# Propriedades opcionais #--#
    CALL _ADVPL_set_property(l_logix_response,"MESSAGE","Erro Msg","Erro Detail", "10")
    CALL _ADVPL_set_property(l_logix_response,"STATUS",'200')
 
    #--# Opcional, utilizada quando o conteúdo de retorno for um JSONArray #--#
    CALL _ADVPL_set_property(l_logix_response,"HAS_NEXT",TRUE)
     
    RETURN _ADVPL_get_property(l_logix_response,"GENERATE")
END FUNCTION




Métodos SET


Métodos acessíveis através da função _ADVPL_set_property que permite alterar e manipular os valores do componente:


Expandir
titleHAS_NEXT

Método SET: HAS_NEXT

Define quando o conteúdo do PAYLOAD  for do tipo JSONArray para gerar o retorno da requisição REST.

Sintaxe


Bloco de código
CALL _ADVPL_set_property(< l_json_reference >,"HAS_NEXT", < l_has_next >)

Parâmetros


NomeTipoDescriçãoObrigatório?Padrão
l_has_nextSMALLINT

Indicador de conteúdo do Payload no formato JSONArray.

VALORES: TRUE ou FALSE

SimFALSE

Exemplo


Bloco de código
languageapplescript
titleExemplo SET HAS_NEXT
linenumberstrue
#------------------------------------------------------------------------------#
FUNCTION LRESTLOGIXRESPONSE_setHAS_NEXT()
#------------------------------------------------------------------------------#
	DEFINE l_json_reference VARCHAR(10)
    DEFINE l_logix_response VARCHAR(10)
	DEFINE l_json CHAR(1000)
	
	LET l_json = _ADVPL_get_property(l_json_reference,"SERIALIZE")
	
	LET l_json = '{ "valores": ["item1","item2","item3",{"subitem1":"subitem2"}]}'
	
	LET l_logix_response = _ADVPL_create_component(NULL,"LRestLogixResponse")
    CALL _ADVPL_set_property(l_logix_response,"PAYLOAD",l_json,"payload")
    CALL _ADVPL_set_property(l_logix_response,"HAS_NEXT",TRUE)
    CALL _ADVPL_set_property(l_logix_response,"STATUS",'201')
    
	RETURN _ADVPL_get_property(l_logix_response,"GENERATE")
END FUNCTION




Expandir
titlePAYLOAD

Método SET: PAYLOAD

Define o conteúdo do PAYLOAD que será remetido na requisição REST.

Sintaxe


Bloco de código
CALL _ADVPL_set_property(< l_json_reference >,"PAYLOAD", < l_payload >)

Parâmetros


NomeTipoDescriçãoObrigatório?Padrão
l_payloadCHARConteúdo do payload que será transportado na requisição REST.Sim

Exemplo


Bloco de código
languageapplescript
titleExemplo SET PAYLOAD
linenumberstrue
#------------------------------------------------------------------------------#
FUNCTION LRESTLOGIXRESPONSE_setPAYLOAD()
#------------------------------------------------------------------------------#
    DEFINE l_json_reference VARCHAR(10)
    DEFINE l_logix_response VARCHAR(10)
    DEFINE l_json CHAR(1000)
     
    #--# Utilização do método SERIALIZE da classe LJSONOBJECT  #--#
    LET l_json = _ADVPL_get_property(l_json_reference,"SERIALIZE")
     
    #--# Criação da resposta padronizada utilizando a classe LRestLogixResponse  #--#
    LET l_logix_response = _ADVPL_create_component(NULL,"LRestLogixResponse")
    CALL _ADVPL_set_property(l_logix_response,"PAYLOAD",l_json)
 
    #--# Propriedades opcionais #--#
    CALL _ADVPL_set_property(l_logix_response,"MESSAGE","Erro Msg","Erro Detail", "10")
    CALL _ADVPL_set_property(l_logix_response,"STATUS",'200')
 
    #--# Opcional, utilizada quando o conteúdo de retorno for um JSONArray #--#
    CALL _ADVPL_set_property(l_logix_response,"HAS_NEXT",TRUE)
     
    RETURN _ADVPL_get_property(l_logix_response,"GENERATE")
END FUNCTION




Expandir
titleSTATUS

Método SET: STATUS

Define o valor do código de STATUS de retorno da requisição REST.

Sintaxe


Bloco de código
CALL _ADVPL_set_property(< l_reference >,"STATUS", < l_status >)

Parâmetros


NomeTipoDescriçãoObrigatório?Padrão
l_statusCHARCódigo do status que será assumido no retorno da requisição REST.Sim

Exemplo


Bloco de código
languageapplescript
titleExemplo SET STATUS
linenumberstrue
#------------------------------------------------------------------------------#
FUNCTION LRESTLOGIXRESPONSE_setSTATUS()
#------------------------------------------------------------------------------#
    DEFINE l_json_reference VARCHAR(10)
    DEFINE l_logix_response VARCHAR(10)
    DEFINE l_json CHAR(1000)
     
    #--# Utilização do método SERIALIZE da classe LJSONOBJECT  #--#
    LET l_json = _ADVPL_get_property(l_json_reference,"SERIALIZE")
     
    #--# Criação da resposta padronizada utilizando a classe LRestLogixResponse  #--#
    LET l_logix_response = _ADVPL_create_component(NULL,"LRestLogixResponse")
    CALL _ADVPL_set_property(l_logix_response,"PAYLOAD",l_json)
 
    #--# Propriedades opcionais #--#
    CALL _ADVPL_set_property(l_logix_response,"MESSAGE","Erro Msg","Erro Detail", "10")
    CALL _ADVPL_set_property(l_logix_response,"STATUS",'200')
 
    #--# Opcional, utilizada quando o conteúdo de retorno for um JSONArray #--#
    CALL _ADVPL_set_property(l_logix_response,"HAS_NEXT",TRUE)
     
    RETURN _ADVPL_get_property(l_logix_response,"GENERATE")
END FUNCTION




Veja Também


Exemplos completos de utilização disponíveis no Guia de Desenvolvimento de APIs para o produto Logix.