Skip to content

bzll/advpl-dynamic-query-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

Método API para Queries dinâmicas

Quando houver a necessidade de integração entre duas plataformas e houver muitas requisições de dados, não faz sentido criar um método GET para cada estrutura requerida, a não ser que a mesma tenha alguma especificidade, sendo assim, para consultas genéricas, resolvi criar uma API dinânimca

Pré-requisitos

Para execução desta API é necessário seguir alguns passos:

  • REST - Configuração
  • INSOMNIA - Utilizei para testes de requisições o Insomnia, porém, há outros clientes, como por exemplo, o POSTMAN e também a o próprio curl

Testando

Primeiro passo, é a compilação do arquivo wsService.prw presente neste repositório

Após isso, simplesmente é realizar o consumo desta API da seguinte forma;

Requisição

Requisição

curl:

curl --request GET \
  --url http://localhost:8080/wsService/query \
  --header 'content-type: application/json' \
  --data '{
	"query": "SELECT A1_COD, A1_LOJA, A1_NOME FROM SA1000 WHERE D_E_L_E_T_ = '\'''\'' AND A1_NOME LIKE '\''CIRO%'\''"
}'

Resposta

Resposta

Observação

Para campos do tipo MEMO é necessário a realização do CAST (Doc. Microsoft SQL) dentro do body JSON, exemplo:

{
  "query": "SELECT CAST(CAST(CAMPO_MEMO AS VARBINARY(8000)) AS VARCHAR(8000)) FROM TABLE"
}

Licença

Distribuído sobre a licença MIT

Então é isso! =)

About

Método API para queries dinâmicas

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages