Histórico da Página
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ uri: valor, method: GET, headers: {}, pathParams: [ "param1", "param2" ], queryParams: { query1: valor1, query2: valor1}, payload: {} } |
...
EXEMPLO MONTAGEM DO JSON DE RETORNO DA REQUISIÇÃO
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#-----------------------------------------------# FUNCTION wms_v1_dimensoes_get(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 (mensagem de erro, detalhamento do erro, código do erro #--# CALL _ADVPL_set_property(l_logix_response,"MESSAGE","Mensagem de erro","Detalhamento do erro", "10") #--# Definição do status de retorno da requisição CALL _ADVPL_set_property(l_logix_response,"STATUS",'200') #--# Opcional, utilizada quando o conteúdo de retorno for um JSONArray #--# CALL _ADVPL_set_property(l_logix_response,"HAS_NEXT",TRUE) #Retorno do conteúdo do componente LRestLogixResponse no formato JSON RETURN _ADVPL_get_property(l_logix_response,"GENERATE") END FUNCTION |
...
A leitura dos dados do JSON da requisição é realizada utilizando a função _ADVPL_get_property(l_json_reference, "VALUE",<campo>)
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 é apenas um exemplo do conteúdo JSON que já é recebido pelas requisições 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") #Leitura dos itens da lista "ajustBxaAdtInteg" existentes no JSON da requisição 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 |
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas