Páginas filhas
  • 2. Parâmetros de Entrada

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Bloco de código
linenumberstrue
# Valida a existência de um item na base de dados.
# POST http://<servidor>:<porta>/logix-rest/manr1/validaItem/01/ITEMXPTO HTTP/1.1
#------------------------------------------------------------------------------#
FUNCTION manr1_pub_process_validaItem(l_pp_cod_empresa,l_pp_cod_item)
#------------------------------------------------------------------------------#
    DEFINE l_pp_cod_empresa LIKE empresa.cod_empresa
    DEFINE l_pp_cod_item    LIKE item.cod_item

    CALL CONOUT(l_pp_cod_empresa) # l_pp_cod_empresa = "01"
    CALL CONOUT(l_pp_cod_item)    # l_pp_cod_item = "ITEMXPTO"
END FUNCTION

...

Nota

Não é possível definir variáveis complexas

...

como RECORD, ARRAY,

...

ou ARRAY OF RECORD

...

 como PathParam.

Informações

...

Para mais de um parâmetro do tipo PathParam, defina-os na ordem de utilização na URL e não utilize outro tipo de parâmetro entre eles.

Aviso

Nunca utilize valores que possuam caracteres especiais, vírgulas, acentos ou espaços em branco como um PathParam da URL, isto ocasionará valores inválidos.

...

Bloco de código
linenumberstrue
# Pesquisa por empresas permitindo ordenar e limitar a quantidade de resultados.
# GET http://<servidor>:<porta>/logix-rest/logr2/empresas?order=cod_empresa&limit=100 HTTP/1.1
#------------------------------------------------------------------------------#
FUNCTION logr2_pub_get_empresas(l_qs_order,l_qs_limit)
#------------------------------------------------------------------------------#
    DEFINE l_qs_order CHAR(100)
    DEFINE l_qs_limit INTEGER 
    
    CALL CONOUT(l_qs_order) # l_qs_order = "cod_empresa"
    CALL CONOUT(l_qs_limit) # l_qs_limit = 100
END FUNCTION

...

Nota

Não é possível definir variáveis complexas como RECORD ou ARRAY OF RECORD como QueryString.

2.3. Payload

Payload são os os valores enviados no cabeçalho da requisições e não são visíveis na URL, utilizado para envio de informações grandes, em lote ou com conteúdo sensível. Todo parâmetro de entrada que não possuir sufixo de identificação (_pp_ ou _qs_) será considerado do tipo Payload e o nome do objeto JSON enviado na requisição deve ser exatamente igual ao nome da variável definida no código fonte, conforme abaixo:

...

Bloco de código
linenumberstrue
# Efetua a modificação de um determinado item.
# PUT http://<servidor>:<porta>/logix-rest/manr1/item/01/ITEMXPTO HTTP/1.1
# BODY:
# {
#     "lr_item": {
#         "cod_empresa": "01",
#         "cod_item": "ITEMXPTO",
#         "den_item": "ITEM TESTE",
#         "den_item_reduz": "ITEM",
#         "cod_unid_med": "PC",
#         "pes_unit": 1,
#         "ies_tip_item": "T",
#         "dat_cadastro": "2009-05-20T00:00:00.000Z",
#         "ies_ctr_estoque": "N",
#         "cod_local_estoque": null,
#         "ies_tem_inspecao": "N",
#         "cod_local_insp": null,
#         "ies_ctr_lote": "N",
#         "cod_familia": "FAN",
#         "gru_ctr_estoq": 7,
#         "cod_cla_fisc": "0",
#         "pct_ipi": 0,
#         "cod_lin_prod": 1,
#         "cod_lin_recei": 2,
#         "cod_seg_merc": 0,
#         "cod_cla_uso": 0,
#         "fat_conver": 1,
#         "ies_situacao": "A"
#     }
# }
#------------------------------------------------------------------------------#
FUNCTION manr1_pub_update_item(l_pp_cod_empresa,l_pp_cod_item,lr_item)
#------------------------------------------------------------------------------#
    DEFINE l_pp_cod_empresa LIKE item.cod_empresa
    DEFINE l_pp_cod_item    LIKE item.cod_item
    DEFINE lr_item          RECORD LIKE item.*
END FUNCTION
Nota

...

As variáveis devem ser definidas uma por linha sem "atalhos".

Nota

...

Nunca crie RECORD

...

 com estruturas diferentes, porém com o mesmo nome no mesmo código fonte.