Páginas filhas
  • LGX - LREST

Versões comparadas

Chave

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

...

Expandir
titleRESULT

Método GET:RESULT

Retorna o resultado da requisição REST executada.

Sintaxe

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

Retorno

TipoDescrição
CHARResultado obtido na execução da requisição REST.

Exemplo

Bloco de código
languageruby
themeConfluence
linenumberstrue
#--------------------------#
 FUNCTION LREST_getRESULT()
#--------------------------#
    DEFINE l_status SMALLINT

    LET l_status = _ADVPL_get_property(m_rest_reference,"GET","/posts")

    IF  l_status THEN
        CALL CONOUT("OK.:",_ADVPL_get_property(m_rest_reference,"RESULT"))
    ELSE
        CALL CONOUT("NOK:",_ADVPL_get_property(m_rest_reference,"ERROR_MESSAGE"))
    END IF
 END FUNCTION

Observação

  • Para recuperar o resultado da requisição, utilize o método RESULT.



  • Expandir
    titleERROR_MESSAGE

    Método GET:ERROR_MESSAGE

    Retorna

    Para recuperar

    a mensagem de erro

    , no caso da requisição não ter sido executada, utilize o método ERROR_MESSAGE.

    resultante de uma requisição REST mal sucedida.

    Sintaxe

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

    Retorno

    TipoDescrição
    CHARMensagem de erro detalhando a inconsistência ocorrida na requisição REST.

    Exemplo

    Bloco de código
    languageruby
    themeConfluence
    linenumberstrue
    #------------------------------------------------------------------------------#
    FUNCTION LREST_getERRORMESSAGE()
    #------------------------------------------------------------------------------#
        DEFINE l_status SMALLINT
    
        LET l_status = _ADVPL_get_property(m_rest_reference,"GET","/notfound")
    
        IF  l_status THEN
            CALL CONOUT("OK.:",_ADVPL_get_property(m_rest_reference,"RESULT"))
        ELSE
            CALL CONOUT("NOK:",_ADVPL_get_property(m_rest_reference,"ERROR_MESSAGE"))
        END IF
    END FUNCTION






    Inclusão de trecho
    LREST - Métodos GET
    LREST - Métodos GET
    nopaneltrue

    ...

    Inclusão de trecho
    LREST - Métodos SET
    LREST - Métodos SET
    nopaneltrue

    Sintaxe

    Bloco de código
    LET m_rest_reference = _ADVPL_create_component(NULL,"LREST")

    Exemplo

    Bloco de código
    titleExemplo LREST
    linenumberstrue
    #------------------------------------------------------------------------------#
    FUNCTION LREST_teste()
    #------------------------------------------------------------------------------#
        DEFINE l_rest_reference VARCHAR(10)
    
        DEFINE l_status  SMALLINT
        DEFINE l_message CHAR(200)
    
        # Cria o componente para requisições REST.
        LET l_rest_reference = _ADVPL_create_component(NULL,"LREST")
    
        # Define o endereço base das requisições.
        CALL _ADVPL_set_property(l_rest_reference,"HOST","http://jsonplaceholder.typicode.com")
    
        # Força a mensagem de erro.
        LET l_status = _ADVPL_get_property(l_rest_reference,"GET","/notfound")
    
        IF  l_status THEN
            LET l_message = "GET (ERRO):"
            LET l_message = l_message CLIPPED, _ADVPL_get_property(l_rest_reference,"RESULT")
    
            CALL log0030_mensagem(l_message,"info")
        ELSE
            LET l_message = "GET (ERRO):"
            LET l_message = l_message CLIPPED, _ADVPL_get_property(l_rest_reference,"ERROR_MESSAGE")
    
            CALL log0030_mensagem(l_message,"stop")
        END IF
    
        # Método GET.
        LET l_status = _ADVPL_get_property(l_rest_reference,"GET","/posts")
    
        IF  l_status THEN
            LET l_message = "GET:"
            LET l_message = l_message CLIPPED, _ADVPL_get_property(l_rest_reference,"RESULT")
    
            CALL log0030_mensagem(l_message,"info")
        ELSE
            LET l_message = "GET:"
            LET l_message = l_message CLIPPED, _ADVPL_get_property(l_rest_reference,"ERROR_MESSAGE")
    
            CALL log0030_mensagem(l_message,"stop")
        END IF
    
        # Método POST.
        LET l_status = _ADVPL_get_property(l_rest_reference,"POST","/posts")
    
        IF  l_status THEN
            LET l_message = "POST:"
            LET l_message = l_message CLIPPED, _ADVPL_get_property(l_rest_reference,"RESULT")
    
            CALL log0030_mensagem(l_message,"info")
        ELSE
            LET l_message = "POST:"
            LET l_message = l_message CLIPPED, _ADVPL_get_property(l_rest_reference,"ERROR_MESSAGE")
    
            CALL log0030_mensagem(l_message,"stop")
        END IF
    
        # Método PUT.
        LET l_status = _ADVPL_get_property(l_rest_reference,"PUT","/posts/1")
    
        IF  l_status THEN
            LET l_message = "PUT:"
            LET l_message = l_message CLIPPED, _ADVPL_get_property(l_rest_reference,"RESULT")
    
            CALL log0030_mensagem(l_message,"info")
        ELSE
            LET l_message = "PUT:"
            LET l_message = l_message CLIPPED, _ADVPL_get_property(l_rest_reference,"ERROR_MESSAGE")
    
            CALL log0030_mensagem(l_message,"stop")
        END IF
    
        # Método DELETE.
        LET l_status = _ADVPL_get_property(l_rest_reference,"DELETE","/posts/1")
    
        IF  l_status THEN
            LET l_message = "DELETE:"
            LET l_message = l_message CLIPPED, _ADVPL_get_property(l_rest_reference,"RESULT")
    
            CALL log0030_mensagem(l_message,"info")
        ELSE
            LET l_message = "DELETE:"
            LET l_message = l_message CLIPPED, _ADVPL_get_property(l_rest_reference,"ERROR_MESSAGE")
    
            CALL log0030_mensagem(l_message,"stop")
        END IF
    
        # Ao finalizar o uso, libera o componente da memória.
        CALL _ADVPL_destroy_component(l_rest_reference)
    END FUNCTION

    ...