Olá ess é integration developer bootcamp estamos na etapa de boas práticas de desenvolvimento nesse vídeo falaremos sobre como é feito o controle de erros dentro dos fluxos validação em chamadas externas é uma boa prática verificar a ocorrência de erros em quaisquer conectores que façam algum tipo de chamada externa na plataforma por exemplo chamadas rest soap bancos de dados FTP e outros para isso para qualquer erro de conectou a plataforma retornará a chave error no payload e verificar a existência dessa chave é o suficiente para verificar se as chamadas foram bem sucedidas ou má sucedidas no
fluxo à esquerda temos uma chamada http que é uma chamada externa plataforma logo após temos um Choice para verificar a existência dessa chave erro caso essa chave não exista nós teremos um caminho de sucesso e caso essa chave exista nós teremos um caminho de erro após reconhecido o caminho de erro nós precisamos fazer a geração de uma mensagem de erro e a interrupção do fluxo o conector TR erro é utilizado para emitir erros personalizados dentro de um pipeline ou sub pipeline ele também é utilizado para fazer a interrupção do fluxo com ele é possível configurar
mensagem de erro através do error message também é possível retornar o status code para pipelines que precis dessa informação e por fim é também é possível criar um erro customizado utilizado para geração de um objeto de erro um objeto Deon de erro informando os acontecimentos e os atributos também podemos utilizar paraa interrupção do fluxo o assert o assert diferente do trow ele faz verificações durante o fluxo e ele também retorna mensagem de erro ele retorna status code mas ele não customiza o erro o assert funciona da seguinte forma nesse nesse parâmetro chamado condição ele Verifica
por exemplo se a chave erro está presente caso ela esteja então nós teremos uma exceção e aqui ele fará parâmetros dessa exceção agora caso essa condição retorne falso ele passará adiante no pipeline enviando a mesma mensagem de entrada com a mensagem de saída diferente do trow ele consegue fazer toda a verificação em único componente comparando os dois funcionaria da mesma forma mas Eles teriam uma construção do fluxo diferente então ambos os fluxos realizam o mesmo procedimento e é uma chamada hash fazem uma verificação e em caso de problemas na requisição um erro é disparado a
diferença entre eles é que o trow error consegue exibir uma informação personalizada permite a utilização de funções e Chaves duplas sendo altamente recomendado no controle de erros se compararmos os fluxos nesse fluxo temos uma chamada hash a vip logo depois um conector Choice para fazer verificações da chave erro e temos o caso de sucesso com log e logo depois de regenerator e o caso de erro com log logo depois outro erro então aqui fazemos a validação a verificação do atributo e aqui nós interrompemos o fluxo com uma mensagem de erro customizada já com a search
aqui fazemos a chamada http logo depois fazemos uma verificação no único conector a search nós fazemos a verificação tanto se deu sucesso se deu f a partir do atributo erro quanto também a a configuração da mensagem de erro retornada Como dito anteriormente o trow erro permite a construção de um Jone para criação de uma mensagem personalizada enquanto a search não permite sendo enviada apenas uma mensagem de texto no caminho de sucesso essa informação que chegou saiu daqui vai chegar aqui e vai fazer o deson de saída assim como fez no primeiro primeiro caso plataforma novamente
vamos fazer o teste temos uma requisição qualquer logo após requisição temos um tipo de validação a partir da chave error se ela está presente significa que houve um erro na requisição logo após nós retornamos um erro customizado aqui colocamos por exemplo mensagem algo deu de errado el tenta fazer requisição do vip e o erro usando uma chave erro mas também poderíamos colocar aqui o pel inteiro da nossa mensagem a fazer o teste nessa requisição temos o seguinte apertar Plays caminhamos pro caminho de erro V que aqui chegamos a mensagem algo deu de errado reção do
Vip erro 400 então conectando Choice para entender melhor nós podemos ver um pouco melhor sobre esse erro que foi esse daqui pect isso acontece porque nós não Passamos o dentro do nosso de entrada caso eu passasse o s ele iria para caminho de sucesso poderíamos por exemplo continuar costumizando um erro e colocando toda a informação direto nessa chave então ao executar novamente O resultado é que eu tenho a mensagem customizada e dentro do atributo erro eu tenho o payload que estava foi retornado desse componente agora fazero uma comparação com a search temos exatamente a mesma
requisição dentro da search temos a mesma mensagem de erro mas aqui nós não conseguimos customizar o erro então eu coloco aqui por exemplo um status fixo de B request V confirmar e fazer a requisição O resultado vai ser justamente o erro disparado pelo assert vou tentar novamente Esse é o resultado Aqui nós temos a mensagem que foi definida pelo desenvolvedor no error message e um code fixo mas não conseguimos customizar ou utilizar outras informações aqui dentro Essa foi a aulas de controle de erro utilizando componente a search V2 ou a combinação do erro com o
componente ch p prm