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