E aí gente beleza mais um vídeo aqui sobre Gol a gente vai continuar o nosso projeto aqui em Gol a gente vai criar uma padronização de erros aqui no nosso projeto a gente vai querer um objeto que vai ser compartilhado dentre todas as nossas funções para que a gente possa ter mais informações sobre algum erro que aconteceu e a gente não tem que ficar mexendo na questão de erro em todos os lugares na aplicação a gente vai ter algo Centralizado aqui dentro Beleza então vamos lá para o vídeo [Música] então aqui a gente continuou continuando com a nossa estrutura aqui de pastas a gente vai entrar aqui dentro de src a gente vai entrar dentro de configuration e aqui dentro a gente vai criar a nossa configuração de padronização de erros Beleza então aqui dentro você vai criar uma pasta a gente vai chamar de Rash e RR tá aqui você pode criar o nome da pasta que você quiser você pode criar errors aqui por exemplo tanto faz Everson no caso vai dar conflito com um pacote error do Gol tá então eu tô criando um outro nome aqui pra gente ter algo que é só nosso aqui beleza então a gente vai criar chamar de Rash e RR beleza e aqui dentro a gente vai ter o nosso Rash e rr. gov que vai ser o nosso arquivo que a gente vai criar Tá bom a gente vai apagar esse meio ponto gol no seu Talvez não tenha porque aqui o vingou o pacote aqui do vinho ele cria sozinho Beleza então a gente vai começar aqui então você vai tirar esse pacote de mim você vai chamar de Direct RR nosso pacote tá bom e você vai criar um objeto aqui vamos criar um objeto chamado rest e RR que vai ser do tipo stract beleza e aqui dentro vai vir os Campos que a gente quer criar a gente vai ter primeiro um campo message que o campo Messenger ele vai ter a mensagem por si só Qual é o erro que deu o erro que a gente vai criar ali na mão para poder notificar o cliente sobre alguma coisa que acontecer dentro daquela aplicação nem daquele fluxo Beleza então a gente vai ter esse campo a gente vai ter o campo RR que vai ser também uma string que vai ser basicamente a stec tracer do que aconteceu Tá bom então na maioria das vezes a gente vai precisar não spectracing mas por exemplo eu dei um erro 400 a gente vai escrever Bad request para ficar mais descritivo para poder mostrar qual é o significado daquele código que deu na hora da requisição Beleza a gente vai ter um campo code tá então Cold basicamente ele vai guardar Qual é o código da requisição que a gente vai estar retornando pro cliente tá então a gente vai colocar aqui de gente 64 beleza que podia ser anti oito índice só pode deixar que antes se você preferir tanto faz tá mas a gente 64 aqui eu vou deixar só pra padronizar o índice 64 aqui na aplicação Beleza você pode colocar qualquer tipo de gente porque vai ser códigos números de até dígitos beleza e aí a gente vai ter um campo caos esse campo caos aqui ele vai ser basicamente um outro objeto causes então causas aqui vai basicamente criar quais as causas de erro que deu dentro na nossa aplicação Então a gente vai ter aqui um caos no caso né claro que não é sempre um ser mais só para ficar fácil de entender e vai ser uma instruction Então a gente vai ter isso padronizado aqui tá Então vai ser uma uma rede e um objeto e dentro desse objeto vai ter um campo Field que vai se chamar que vai ser do tipo string e o campo Messenger que vai ser do tipo string também tá bom então que que vão ser esses dois Campos por exemplo tem lá os nossos usuário ele mandou uma senha errada a gente vai colocar assim Campo senha mensagem campo sem estar incorreto sabe vai ser uma lista de quais Campos estão incorretos dentro da nossa aplicação beleza e aí beleza a gente criou tudo isso aqui só que a gente precisa fazer com que o nosso objeto seja exportável para Jason né E aí para o nosso objeto ser exportável pra Jason você vai vir aqui no fim você vai colocar apóstrofo desse jeito se eu não me engano apóstrofo nome disso tá que basicamente a gente vai colocar Jason dois pontos abre aspas tá então o que que é esse cara é aqui a gente vai passar Qual é o nome do campo quando a gente passar esse objeto para Jason Então eu tenho lá objeto bonitinho eu passei para Jason qual vai ser o nome desse Campo aqui vai ser Messenger Beleza então vai ser novamente mestre aqui não tem muito que mudar aqui vai ser Jason a gente vai colocar o nome error tá para ficar mais mais descritivo aqui para quem tiver utilizando Eu só não coloco o nome error aqui porque vai ter uma função que se chama erro que a gente vai implementar para poder satisfazer uma interface mas eu já falo disso daqui a pouquinho tá bom E aqui a gente vai colocar Jason igual Opa foi maiúsculo aqui Jason igual a cold aqui você vai colocar Jason igual a house Aí você vem aqui embaixo novamente você vai colocar Jason igual a Field e aqui embaixo Jason igual a Messenger beleza aquele não vai dar conflito entre os dois porque um vai estar dentro do objeto e o outro não vai estar Beleza então esse é o nosso objeto de erro a gente vai padronizar esse erro para todo canto na nossa aplicação tá bom vocês vão ver como vai ficar muito mais fácil aqui aqui a gente vai criar um Construtor para o nosso objeto Então a gente vai criar um New West e RR que a gente vai receber os nossos Campos aqui então se eu quiser criar uma um tipo de objeto no qual não tem aqui dentro então a gente vai basicamente fazer dessa forma Beleza então a gente vai receber o campo mestre o campo err que vai ser do tipo string a gente vai receber o campo code que vai ser do tipo intim64 e a gente vai receber o campo causas aqui no caso vou chamar de causa fica mais fácil que vai ser uma rede causas aqui tá Então a gente vai basicamente retornar um ponteiro de rest error aqui dentro da nossa função beleza aqui dentro a gente vai dar um return e Comercial tá preste e RR tá bom E aqui dentro a gente vai passar Messenger igual a Messenger a gente vai passar RR igual a RR a gente vai passar code igual a code e a gente vai passar causas igual a causas aqui no caso né então que é o objeto que a gente a lista que a gente recebeu então a gente tem um Construtor aqui do nosso método do nosso objeto de erros tá bom Agora a gente vai criar os métodos para poder facilitar a nossa questão ali na questão de programação ali dentro do nosso repository service tudo que a gente precisar então ao invés de eu tenho que ficar dando um newest erro passando a mensagem passando erro passando Qual é o código se é 200 400 404 500 a gente vai criar um método para cada tipo de erro Como assim então aqui a gente vai receber vai querer por exemplo um funk New Bad recrest error por exemplo tá então que vai basicamente receber um Messenger string Tá bom então nesse mestre de string vai basicamente ser a mensagem de erro que a gente quer passar para pessoa que chamou essa função e a gente vai retornar um ponteiro de praty erro beleza então aqui dentro a gente vai fazer a mesma coisa daqui de cima Então a gente vai colar esse cara aqui embaixo só que ao invés de rr aqui que que a gente vai passar em média RR Já que é bad request a gente vai passar Bad request beleza aqui no code ao invés de como a gente vai passar http status Bad request que é o código de Bad request para a gente não ter que chumbar aqui também para ser a casa um dia mudar Sei lá tá E aqui causas a gente não vai precisar por enquanto a não ser que a pessoa Passe aqui por parâmetro Tá mas Bad request a gente não vai vai deixar vazio ou o causas a gente vai deixar vazio porque eu causos vai ser utilizado para validação de Campos Beleza a gente vai criar um mesmo código aqui o new bead request também para ser acaso a pessoa chamar a nossa função passando um valor errado nosso objeto errado tá então a gente vai passar o new Bad request sei lá válidation erro beleza e aqui dentro a gente vai criar o causas tá então causas vai ser uma rei de causas aqui tá então aí a gente vai criar um novo Campo aqui embaixo vai vai colocar causas igual a causas aqui que a gente criou por objeto Beleza então a gente tem já duas funções a terceira função aqui vai ser qual vai ser a nossa funk New interna server erro que no caso vai ser pra padronizar a questão de entrar no server o que aconteceu dentro da nossa aplicação Então a gente vai receber um mestre de string novamente certo e vai retornar um ponteiro de West erro beleza aí aqui dentro a gente pode copiar esse cara aqui certo estão copiando esse cara aqui a gente vai tirar a causas ao invés de Bad request aqui a gente vai passar interna ou server erro certo e aí ao invés de Bad request que a gente vai passar status interna ou servir erro beleza e aí você vai criando aqui para todos os métodos que você achar necessário eu vou criar aqui para o bad request entrar no server erro New not found e assim eu acho que já tá bom tá código 500 400 e 404 a gente pode criar um para 403 já que a gente vai ter autenticação jwt então quando a pessoa mandar um toque incorreto a gente vai lá e simplesmente não deixa passando 403 então cria aí um para cada um no Bad requestrar eu vou criar aqui também só para não ficar muito maçante que é muito parecidos métodos Beleza então já volto com todos eles prontos Beleza então aqui temos todos os métodos criados então aqui eu já criei nenhum notificação de erro New forbidden error nem o interno serve erro Bad requash e Bad re- Quest normal que a gente vai utilizar Beleza então a gente tem os métodos que a gente vai precisar por último a gente vai fazer o seguinte a gente vai criar uma função que vai limitada a partir de West erro na qual a gente vai chamar ela de error erro só tá porque esse cara que vai retornar um string esse cara basicamente vai ser para satisfazer a nossa interface de error aqui do Gol Beleza então aqui a gente vai dar um return no caso aqui eu preciso do R vou criar um aqui um nome variável r a gente vai dar um R ponto Messenger aqui para retornar a mensagem porque disso tá muitas vezes vai ter algumas bibliotecas que a gente pode acabar utilizando nas quais elas recebem erro por parâmetro ou elas retorna um erro por parâmetro beleza e aí pra gente não ter que criar uma variável erro colocar o valor de rastreador dentro dela e retornar a gente cria uma interface um método chamado erro no qual quando a gente precisar passar um erro por parâmetro a gente vai mandar na verdade o resto error que no fim das contas vai ser simplesmente r. messa gente beleza Já que erro é uma interface então se você não entendeu ainda muito que tá acontecendo Vou deixar um card aqui em cima sobre como funcionam os erros em Gol beleza então ficou bem completinho sobre como funciona Então temos tudo aqui completo mas não estava para eu vou utilizar isso né onde a gente poderia utilizar esse cara a gente poderia vir aqui dentro por exemplo do nosso Controller ou algo assim então a gente vai por exemplo criar aqui uma função sei lá um teste.
gou tá E aí que dentro do teste. gov vamos supor que a gente tem uma função lá uma função teste que ela recebe por exemplo uma mensagem string ao invés de eu ter que retornar erro aqui para pessoa e depois lá no jinglene quer dar um c. j.
aqui no erro e eu retornar só uma string para ela eu basicamente vou falar aqui na verdade eu vou retornar um ponteiro de rest erro.