Histórico da Página
Pagetitle | ||||
---|---|---|---|---|
|
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:
Expandir | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||
Método GET: HOSTRetorna o endereço base definido para as requisições REST. Sintaxe
Retorno
Exemplo
|
Expandir | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||
Método GET: GETEfetua uma requisição Sintaxe
Parâmetros
1 Por ser uma lista de valores, os cabeçalhos precisam ser informados no formato Exemplo: Retorno
Exemplo
Observação
|
Expandir | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||
Método GET: POSTEfetua uma requisição Sintaxe
Parâmetros
1 Por ser uma lista de valores, os cabeçalhos precisam ser informados no formato |
...
' |
...
|
...
|
...
|
...
Exemplo: |
...
' |
...
|
...
|
...
|
...
Retorno
Exemplo
Observação
|
Expandir | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||
Método PUTEfetua uma requisição Sintaxe
Parâmetros
1 Por ser uma lista de valores, os cabeçalhos precisam ser informados no formato Retorno
Exemplo
Observação
|
Expandir | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||
Método GET: DELETEEfetua uma requisição DELETE e retorna verdadeiro se a requisição foi efetuada com sucesso. Sintaxe
Parâmetros
1 Por ser uma lista de valores, os cabeçalhos precisam ser informados no formato Exemplo: Retorno
Exemplo
Observação
|
Expandir | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||
Método GET: RESULT
Retorna o resultado da requisição REST executada. Sintaxe
Retorno
Exemplo
|
Expandir | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||
Método GET: ERROR_MESSAGE
Retorna a mensagem de erro resultante de uma requisição REST mal sucedida. Sintaxe
Retorno
Exemplo
|
Expandir | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||
Método GET: HEADER
Retorna a conteúdo de uma chave contida na seção HEADER do retorno de uma requisição REST executada. OBS: Disponível a partir do Logix 12.1.2209 ou FIX Framework 12.1.2205(fix01) Sintaxe
Parâmetros
Retorno
Exemplo
|
Expandir | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||
Método GET: STATUS
Retorna o valor do código do STATUS resultante do processamento de uma requisição REST (GET / PUT / POST / DELETE) . OBS: Disponível a partir do Logix 12.1.2209 ou FIX Framework 12.1.2205(fix01) Sintaxe
Retorno
Exemplo
|
Expandir | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||
Método GET: TIMEOUT
Retorna o valor do TIMEOUT atual (em segundos) utilizado no processamento de uma requisição REST (GET / PUT / POST / DELETE) . OBS: Disponível a partir do Logix 12.1.2301 ou FIX Framework 12.1.2209(fix01) Sintaxe
Retorno
Exemplo
ObservaçõesO tempo de TIMEOUT padrão adotado pelo componente LRest será o tempo configurado na chave de ambiente TIMEOUT configurada na seção [HTTPV11] no arquivo INI de configurações do AppServer, no entanto, caso esta chave não tenha sido configurada, o tempo padrão adotado será 120 segundos. |
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 | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||
Método SET: HOSTDefine o endereço base para as requisições REST. Sintaxe
Parâmetros
Exemplo
|
Expandir | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||
Método SET: TIMEOUT
Ajusta o valor do TIMEOUT atual (em segundos) que será utilizado no processamento de uma requisição REST (GET / PUT / POST / DELETE) . OBS: Disponível a partir do Logix 12.1.2301 ou FIX Framework 12.1.2209(fix01) Sintaxe
Parâmetros
Exemplo
|
Sintaxe
Sintaxe geral para criar um componente LREST.
Bloco de código |
---|
LET m_rest_reference = _ADVPL_create_component(NULL,"LREST") |
Exemplo
...
language | ruby |
---|---|
theme | Confluence |
linenumbers | true |
...
Expandir | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||
Método SET: ADD_HEADER
Adiciona uma chave na definição do cabeçalho (HEADER) de uma requisição REST a ser processada. OBS: Disponível a partir do Logix 12.1.2309 ou FIX Framework 12.1.2305(fix01) Sintaxe
Parâmetros
Exemplo
|
...
|
Sintaxe
Sintaxe geral para criar um componente LREST.
Bloco de código |
---|
LET m_rest_reference = _ADVPL_create_component(NULL,"LREST") |
Exemplo
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
#------------------------------------------------------------------------------# 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.