O Mingle tem o serviço API Gateway para produtos que precisam de exposição de API para internet, garantindo canal único de liberação da rede do cliente para a nuvem e a segurança de não precisar expor o endereço completo do servidor do cliente.
Nesta etapa você será capaz de realizar requisições ao servidor usando a segurança e simplicidade do mingleService.
Vamos imaginar que você desenvolvedor precise criar uma funcionalidade que busque uma lista de produtos do seu backend através do endereço
http://servidor-exemplo.com.br/listaProdutos
Com o Mingle Gateway, você não precisa comprometer a segurança do seu host ao informar o endereço rest completo, basta informar o endpoint desejado.
Veja o bloco de código abaixo:
getProducts() { return this.mingleService.gateway.get('listaProdutos').subscribe(response => { return JSON.stringify(response); }, error => { console.error("Error in gateway endpoint 'listaProdutos'"); return error ; } ); }
Dessa forma o resultado do endereço para o request é "https://dev-mingle.totvs.com.br/listaProdutos" e através do seu ALIAS o Mingle identifica qual é o endereço final do servidor para realizar a chamada GET no endpoint listaProdutos.
Ao utilizar a classe mingleService.gateway você substitui o request http padrão do typescript e garante a segurança da informação.
O Mingle aceita apenas requisições com conteúdo JSON, objeto ou formData no body.
É possível enviar headers customizados de acordo com a sua implementação para o seu host.
Neste exemplo, vamos adicionar o header "x-totvs-header-customizado" ao request:
getProducts() { const options = {headers: {"x-totvs-header-customizado": "123456"}}; return this.mingleService.gateway.get('listaProdutos', options).subscribe(response=>{ return JSON.stringify(response); }, error => { console.error("Error in gateway endpoint 'listaProdutos'"); return error ; }) }
É possível enviar queryParams customizados de acordo com a sua implementação para o seu host.
Neste exemplo, vamos adicionar o queryParams "filial e id" ao request, conforme exemplo abaixo:
getProducts() { const queryParams = { "filial": "D MG", "id": "FIN501" }; return this.mingleService.gateway.get('listaProdutos', {}, queryParams).subscribe(response=>{ return JSON.stringify(response); }, error => { console.error("Error in gateway endpoint 'listaProdutos'"); return error ; }) }
A classe mingleService.gateway está pronta para realizar as seguintes ações:
Os métodos get, post,put, delete e patch são responsáveis pela comunicação http entre o aplicativo e o servidor do Mingle conforme apresentado nos tópicos anteriores desse documento.
O método getHeaders retorna os headers padrões do MingleService.
O método getUrl retorna a URL padrão do MingleService.
Para saber mais sobre envio de arquivos com o gateway do Mingle, acesse: Transferência de arquivos