Histórico da Página
...
Permite manipular o JSON recebido como parâmetro pela função.
...
title | Importante |
---|
...
Acesse a documentação referente ao
...
componente Logix LJSONOBJECT para saber mais detalhes de como manipular informações recebidas num formato JSON.
LRestLogixResponse
Trata a criação do JSON de response da requisição.
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
#----------------------------------------------# FUNCTION wms_v1_get_dimensao(l_json_reference) #----------------------------------------------# 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,"payload") #--# Propriedades opcionais #--# CALL _ADVPL_set_property(l_logix_response,"MESSAGE","Erro Msg","Erro Detail", "10") CALL _ADVPL_set_property(l_logix_response,"STATUS",'200',"status") #--# 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 |
Bloco de código | ||||
---|---|---|---|---|
| ||||
DEFINE l_json_data CHAR(30000) DEFINE l_json_reference VARCHAR(10) DEFINE l_length_ajusts SMALLINT DEFINE l_status SMALLINT DEFINE l_ind SMALLINT DEFINE ma_ajust_bxa_adt_integ ARRAY[500] OF RECORD cod_tip_val LIKE ad_valores.cod_tip_val, valor LIKE ad_valores.valor, num_ad_nf_orig LIKE adiant.num_ad_nf_orig, ser_nf LIKE adiant.ser_nf, ssr_nf LIKE adiant.ssr_nf, cod_fornecedor LIKE adiant.cod_fornecedor, dat_mov LIKE mov_adiant.dat_mov END RECORD //Esta informação da variável l_json_data abaixo só é atribuida manualmente //como um exemplo do conteúdo que já é recebido via REST. LET l_json_data = '{ "payload": { "ajustBxaAdtInteg": [ { "codTipVal": "1", "valor": 1000, "numAdNfOrig": 123456, "serNf": "AD", "ssrNF": "A", "codFornecedor": "12", "datMov": "10/10/2019" }, { "codTipVal": "2", "valor": 3000, "numAdNfOrig": 654321, "serNf": "AF", "ssrNF": "B", "codFornecedor": "13", "datMov": "01/12/2018" }, { "codTipVal": "3", "valor": 2000, "numAdNfOrig": 555555, "serNf": "AJ", "ssrNF": "C", "codFornecedor": "14", "datMov": "31/10/2019" } ] } }' LET l_json_reference = _ADVPL_create_component(NULL, "LJSONOBJECT") LET l_status = _ADVPL_get_property(l_json_reference,"ACTIVATE",l_json_data CLIPPED) LET l_length_ajusts = _ADVPL_get_property(l_json_reference, "LENGTH", "payload/ajustBxaAdtInteg") FOR l_ind = 1 TO l_length_ajusts LET ma_ajust_bxa_adt_integ[l_ind].cod_tip_val = _ADVPL_get_property(l_json_reference, "VALUE", "payload/ajustBxaAdtInteg["||l_ind||"]/codTipVal") LET ma_ajust_bxa_adt_integ[l_ind].valor = _ADVPL_get_property(l_json_reference, "VALUE", "payload/ajustBxaAdtInteg["||l_ind||"]/valor") LET ma_ajust_bxa_adt_integ[l_ind].num_ad_nf_orig = _ADVPL_get_property(l_json_reference, "VALUE", "payload/ajustBxaAdtInteg["||l_ind||"]/numAdNfOrig") LET ma_ajust_bxa_adt_integ[l_ind].ser_nf = _ADVPL_get_property(l_json_reference, "VALUE", "payload/ajustBxaAdtInteg["||l_ind||"]/serNf") LET ma_ajust_bxa_adt_integ[l_ind].ssr_nf = _ADVPL_get_property(l_json_reference, "VALUE", "payload/ajustBxaAdtInteg["||l_ind||"]/ssrNF") LET ma_ajust_bxa_adt_integ[l_ind].cod_fornecedor = _ADVPL_get_property(l_json_reference, "VALUE", "payload/ajustBxaAdtInteg["||l_ind||"]/codFornecedor") LET ma_ajust_bxa_adt_integ[l_ind].dat_mov = _ADVPL_get_property(l_json_reference, "VALUE", "payload/ajustBxaAdtInteg["||l_ind||"]/datMov") CALL CONOUT("------------------- Exibindo os valores --------------------") CALL CONOUT(ma_ajust_bxa_adt_integ[l_ind].cod_tip_val) CALL CONOUT(ma_ajust_bxa_adt_integ[l_ind].valor) CALL CONOUT(ma_ajust_bxa_adt_integ[l_ind].num_ad_nf_orig) CALL CONOUT(ma_ajust_bxa_adt_integ[l_ind].ser_nf) CALL CONOUT(ma_ajust_bxa_adt_integ[l_ind].ssr_nf) CALL CONOUT(ma_ajust_bxa_adt_integ[l_ind].cod_fornecedor) CALL CONOUT(ma_ajust_bxa_adt_integ[l_ind].dat_mov) END FOR |
Bloco de código | ||||
---|---|---|---|---|
| ||||
#--------------------------------------------------#
FUNCTION vdp_v1_clientes_nacionais(l_json_reference)
#--------------------------------------------------#
DEFINE l_json_reference VARCHAR(10)
DEFINE l_logix_response VARCHAR(10)
DEFINE l_query_param CHAR(200)
DEFINE l_path_param CHAR(200)
DEFINE l_json_retorno CHAR(1000)
#--# Carrega o valor da primeira entrada do Query Param #--#
#--# Exemplo: '{"queryParam1":["codigo","valor"]}'
LET l_query_param = _ADVPL_get_property(l_json_reference,"VALUE","queryparams[1][2]")
#--# Carrega o primeiro Path Param #--#
#--# Exemplo: '{"pathparams":["path1","path2"]}'
LET l_path_param = _ADVPL_get_property(l_json_reference,"VALUE","pathparams[1]")
LET l_json_retorno = '{"queryParam":"',LOG_alltrim(l_query_param),'","pathParam":"',LOG_alltrim(l_path_param),'"}'
LET l_logix_response = _ADVPL_create_component(NULL,"LRestLogixResponse")
CALL _ADVPL_set_property(l_logix_response,"PAYLOAD",l_json_retorno,"payload")
CALL _ADVPL_set_property(l_logix_response,"STATUS",'200',"status")
RETURN _ADVPL_get_property(l_logix_response,"GENERATE")
END FUNCTION |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas