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

Cliente de consumo de serviços REST.

Para saber mais sobre REST e como configurar o TOTVS TEC como um servidor REST consulte a página REST ADVPL.

Hierarquia

Métodos GET

 

Métodos SET

 

Sintaxe

LET m_rest_reference = _ADVPL_create_component(NULL,"LREST")

Exemplo

Exemplo LREST
#------------------------------------------------------------------------------#
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