Para saber mais sobre REST e como configurar o TOTVSTEC como um servidor REST consulte a página REST ADVPL.
Hierarquia
- LCOMPONENT
- LREST
Métodos GET
Métodos acessíveis através da função _ADVPL_get_property
que permite recuperar e manipular os valores do componente:
Métodos SET
Métodos acessíveis através da função _ADVPL_set_property
que permite alterar e manipular os valores do componente.
Sintaxe
Sintaxe geral para criar um componente LREST.
LET m_rest_reference = _ADVPL_create_component(NULL,"LREST")
Exemplo
#------------------------------------------------------------------------------# 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") # Adiciona a chave "Content-Type" ao HEADER da requisição REST (usando o parâmetro 1 para o nome da chave e o parâmetro 2 para o valor da chave CALL _ADVPL_set_property(l_rest_reference,"ADD_HEADER","Content-Type","application/json") # Adiciona a chave "Authorization" ao HEADER da requisição REST # (usando o parâmetro 1 para o nome e valor da chave juntos, separando por ":" que é o padrão do formato de chave/valor para HEADER de requisição REST) CALL _ADVPL_set_property(l_rest_reference,"ADD_HEADER","Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==") #Processando a requisição REST usando o método GET para o PARAM (endpoint) "/notfound" LET l_status = _ADVPL_get_property(l_rest_reference,"GET","/notfound") #O retorno será TRUE, quando o status da requisição GET acima for igual a 200 (OK) 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
Abrangência
Componente disponível a partir do LOGIX 12.1.13.
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas