Páginas filhas
  • Desenvolvimento de APIs para o produto Logix

Versões comparadas

Chave

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

...

    Neste exemplo, está sendo definido uma rota, sendo que toda requisição de método GET, que contenha os filtros informados, será direcionado a função wms_v1_get_dimensao_normal.

Bloco de código
languageerl
"/normal/*/",               #--# Path Param a ser filtrado #--#
"fields=*",                 #--# QueryParam a ser filtrado #--#

    Em relação ao filtro informado, será capturado todas as requisições que possuírem um parâmetro Path "/normal" ,  um e um parâmetro Query "fields" com qualquer conteúdo (*). 

...

    Neste exemplo, está sendo definido uma outra rota, sendo que toda requisição de método GET, que contenha qualquer parâmetro Path, um parâmetro Query "order" com valor "dimensao" será direcionado a função wms_v1_get_dimensao_ordenado.

Bloco de código
languageerl
CALL _ADVPL_add_rest_logix_routes("GET",                          
 	                              "/*",                           
 	                              "",                             
 	                              "wms_v1_get_dimensao")

 Neste exemplo, todas as requisições de método GET, que possuírem quaisquer parâmetros (Query ou Path) informados, será direcionado para a função wms_v1_get_dimensao.

Bloco de código
languageerl
CALL _ADVPL_add_rest_logix_routes("POST",                        
 	                              "/*",                         
 	                              "",                           
 	                              "wms_v1_update_dimensao")

 Neste exemplo, todas as requisições de método POST, que possuírem quaisquer parâmetros (Query ou Path) informados, será direcionado para a funçãowmsfunção wms_v1_update_dimensao.


Informações

Algumas considerações sobre o uso de roteamento (_ADVPL_add_rest_logix_routes):

  • Os roteamentos devem ser definidos do mais específico (detalhado) para o mais genérico (simples)
  • O Logix REST utiliza a função Match do ADVPL, que basicamente permite o uso do interroga "?" como coringa de uma determinada posição e o "*" para um conjunto de caracteres variáveis (Mais detalhes na documentação da função: http://tdn.totvs.com/x/gZ1YDQ
  • Podem ser definidos mais de um parâmetro de pesquisa utilizando a vírgula "," como separador, e a pesquisa é sempre feita utilizado o operador AND.
  • Permite o uso de todos métodos HTTP suportados pelo API Manager (GET, POST, PUT, DELETE)

...