No video
COMO TRATAR EXCEÇÕES NO JAVA SPRING
Nesse vídeo eu vou te mostrar as melhores práticas tratar as exceções da sua aplicação Spring Boot de forma elegante e eficiente.
------ NÃO LEIA ------
🎁 TORNE-SE um ESPECIALISTA EM JAVA (10% OFF)
tr.ee/kipperde...
👉 Aprenda inglês com 47% OFF
tr.ee/kipperde...
👉 Me siga no instagram!
/ kipper.dev
👉 Seja também um membro do canal e tenha benefícios exclusivos!
/ @kipperdev
🌎 Comunidade do Discord
/ discord
------ Timestamps ------
00:00 Intro
00:59 Entendendo formas de tratar exceções
05:04 Custom Exceptions
07:38 Criando Controller Advice
13:28 Criando classe padrão de erro
15:04 Retornando JSON na resposta de erro
Пікірлер: 60
Aprenda Java com Desconto! 10% OFF na Rocketseat 💜 tr.ee/kipperdev-desconto-rocketseat-one
Pura didática essa explicação! Muito obrigado, Fernanda!
Oi Fê, no minuto 16:04 você acabou esquecendo de mudar na definição do threatResponse que o httpStatus ia ser NotFound ao invés de internal server error. Adorei o vídeo, os de Java me ajudam muito a estudar sobre
@kipperdev
7 ай бұрын
Oii Lipe, bem notado! Eu esqueci de alterar o status do erro mesmo, obrigada Fico feliz que gostou do video 💜
@zel9219
6 ай бұрын
threatResponse? Q violência mano. Ah tu quer dizer treatResponse?
teu conteúdo é MUITO bom, Fernanda
@kipperdev
7 ай бұрын
Muito obrigadaa, @jwlioCesar 💜
Bem q vc podia fazer um vídeo ensinando a trabalhar com imagens no spring , só tem vídeo de indiano ensinando da pra copia mais não entendo nada kkk , sugestão
@Rico220990
5 ай бұрын
Vc pode postar o url do video do indiano aqui?
Ola Fernanda, faz pra gente o tratamento de exceções usando o problem details
Nice demais, mt obg pela aula, Deus te abençoe
adoreiii estou fazendo uma api no meu trabalho foi mt util 🩷 vc arrasa
Parece que teus vídeos sempre caem como uma luva no que eu to estudando
@kipperdev
8 ай бұрын
Que coincidência hahaha! Mas fico feliz que os vídeos ajudam 💜
Excelente explicação e conteúdo e sua didática. Tenho uma dúvida sobre as mensagens em si. Você acha que seria melhor incluir essas mensagens no application.properties e depois somente atribuir esse valor a variavel para usar na classe ?
Eita como ajuda , obrigado.
Olá Fernanda! Num outro video, no desafio do picpay, vc havia feito uma implementação de tratamento de erros parecida, saberia dizer o porquê de usar algumas anotações parecidas, mas diferentes? Talvez tenha atualizado e não sei... Outra dúvida é em relação ao quando usar o record ou class pra criar a classe de erro base, no caso a RestErrorMessage. Se puder responder a segunda fico muito grato XD.
Top demais!
Eu acordei hoje pensando nisso, valeu kkkkk
@kipperdev
7 ай бұрын
hahahahaha
Excelente video, gostei muito!! você gosta de desenvolver sistemas somente em java com o spring ou você gosta de variar de linguagens?
Muito bom!
Deixa eu te pedir um favor, da um tiquinho de zoom no ferramental e nos textos nos próximos vídeos. 😅
@kipperdev
7 ай бұрын
Boa, pode deixar Cris! 💜
Ótimo conteúdo! Uma dúvida, usando controllerAdvice a aplicação não pára quando ocorre erro não é? Como se tivesse um try() catch{} ?
O que tem na classe EventNotException??
Fiz uma formação na Alura, o Alura One com Java e Spring. Aprendi muitas coisas, o básico de Java, orientação a objetos em Java, etc. Mas, conforme os cursos foram se direcionando até chegar na criação de API, conexão do banco de dados com JDBC e depois JPA, fui parando de conseguir acompanhar o que estava acontecendo. Não sei se era porque meu cérebro já não aguentava mais tanta informação nova (e eu sempre estudo fazendo a mesma coisa que está no vídeo e tentando entender cada aspecto. Até paro pra pensar e refletir muitas vezes), ou os professores, depois do curso de orientação a objetos, passaram a fazer speed run de como criar uma API. Nada para mim fazia sentido mais. O professor simplesmente surgiu com um link para conectar ao MySQL usando a lib JDBC e fiquei só olhando porque ele não explicou de onde veio, para onde ia, o que era exatamente e como funcionava esse link. Resumindo, fiz todo o curso, tentei fazer os projetos, mas falhei miseravelmente em todos, pois quando chegava em certas partes eu simplesmente não sabia para onde ir. Agora estou estudando JavaScript do básico, passando o OO, indo até TypeScript, depois aprenderei a fazer o mesmo CRUD onde falhei, entrarei no React JS, etc. Minha dúvida é: depois de todo esse contexto, é normal não pegar algo tão corriqueiro de programação, como a criação de uma API, de primeira? Eu fiquei tão mal por fazer todo o curso, mas simplesmente saber que NA MINHA MENTE não há todo o conhecimento sólido necessário para criar a API sozinho com o PC offline, sabe? Me desmotivei muito depois disso, mas por um lado, parecia que não era só culpa minha, de não ter prestado ainda mais atenção, de anotar e até desenhar tudo que era dito, de pesquisar por ainda mais fontes, de replicar tudo que foi ensinado umas mil vezes até ficar fluente em criação de API com o CRUD completo usando o Java e o Spring. Também me veio à mente que o curso foi mal dimensionado, não sei bem se essa é a palavra certa, mas simplesmente o básico de Java foi perfeito, variáveis que devem ser declaradas com seus tipos, condicionais, loops, etc. Depois veio OO, aprendi tantos detalhes, o professor alemão mandou muito bem. Cada aula minha mente explodia mais. Vimos até o que é o array de args na nossa classe main, vimos que ao iniciar um objeto, aquela variável dele não é bem ele, mas sim uma referência para o objeto na memória, vimos inúmeros detalhes, mas depois desses dois cursos, a impressão que deu é que os cursos à frente foram projetados para pessoas que já trabalhavam com criação de API/programação usando outras linguagens há algum tempo e estavam indo para o Java, simplesmente. Sobre a parte que falhei de que não sinto que tenho todo o conhecimento sólido necessário, é que gosto de estar totalmente sob controle do que sei, todos gostamos, de fazer de uma vez por já saber como tudo funciona, não havendo nenhuma etapa obscura no processo. Mas sei que isso não é natural para um programador, estão sempre entrando em campos não explorados. O lance é: não sei se é apenas porque sou burro, tenho essas dificuldades, ou porque me falta tempo de experiencia (foi a primeira vez que vi Java na minha frente) e muito mais dedicação. Um dia vi um vídeo no canal de um carinha que fala muito rápido, um tal de Akiita, ele mostrou um desafio de criação de API com um CRUD feito por programadores em linguagens muito aleatórias e teve um usuário que simplesmente escolheu uma linguagem que não tinha nem as ferramentas necessárias para conectar ao banco de dados, e essa programadora simplesmente criou tudo que era preciso do zero. Ela simplesmente não seguiu um padrão que todo mundo segue. Os tutoriais na internet ensinam a conectar ao banco de dados usando JDBC ou JPA (quando se trata de Java), não a criarem seu próprio JDBC/JPA, sabe? Aí, tipo, se eu não consigo nem seguir o tutorial e implementar sozinho depois, algo que já existe, é tão ensinado e feito milhões de vezes por segundo por tanta gente, como serei um programador que realmente faz coisas, realmente FAZ. Estou lassssscado. Pensei em escrever isso depois de constatar, mais uma vez, o quão a Kipper é inteligente e dedicada. Incrível.
@Zardelas
8 ай бұрын
Que isso nengue, vc fazer uma api crud de começo não é tão difícil, é só entender quais @annotations usar.
@diooooogo
8 ай бұрын
Tá aí uma coisa que achei completamete fora da casinha kkkk@@Zardelas
@diooooogo
8 ай бұрын
Isso que da ficar estudando python de forma procedural e não ir a fundo em programar de vdd
@Zardelas
8 ай бұрын
@@diooooogo Amigo, eu sou Dev Java, vivo fazendo freelance, tu tem certeza que vai mandar essa de python pra mim?
@diooooogo
8 ай бұрын
Talvez eu tenha me expressado mal. Mandei essa de python pra mim mesmo. Quis dizer: "Isso que da eu ficar focando em python, acabei não aprendendo a programar de verdade. A programação mais requisitada, como criação de api etc.".@@Zardelas
Quando usa @SpringBootTest, não aceita usar mock junto?
interessante
Fe, me socorre. Como fica o tratamento quando tem o Spring Security? Eu segui esse seu video e segui tbm o de Security, mas a aplicação sempre devolve aquele 403 padrão quando acontece algum erro. E o pior é que as vezes ele nem printa a stack trace no console do Intellij, ai eu tenho que quebrar a cabeça pra saber se foi um erro na configuração de segurança, uma bad request ou um erro dentro do meu metodo.
@samequewincheter1621
5 ай бұрын
403 não é exatamente um erro. Esse protocolo que voce está tendo na sua aplicação é que o Spring security está bloqueando seu acesso, na parte das "roles" como ela fala no video dela.
@samequewincheter1621
5 ай бұрын
talvez eu possa está errado kk
@jonatasoliveira800
5 ай бұрын
@@samequewincheter1621 sim vc está errado kkkk
@jonatasoliveira800
5 ай бұрын
@@samequewincheter1621 quando ocorre algum erro dentro da aplicação, tipo um 404 ou 500 da vida, o spring security não devolve o erro como acontece normalmente, ele devolve só o 403. Mas eu consigue tratar isso parcialmente. Ja consigo capturar, tratar e devolver alguns erros, mas não consegui para todos ainda.
@JulioCesar-Arc
4 ай бұрын
@@jonatasoliveira800 ele devolve 403 porque você está tentando fazer a requisição sem estar "logado", então ele nem chega a chamar o endpoint pra poder te retornar uma mensagem personalizada.
Voce consegue migrar pro GoLang ou Rust ?
Kipper, tem como disponibilizar o código fonte?
@kipperdev
7 ай бұрын
Claro! Está nesse repositório aqui 😊 github.com/Fernanda-Kipper/microservice-java
o que significa pasta infra?
vo te deixa rica ainda vendendo curso, escuta oq eu to te falando...
Olá, muito bom seu vídeo sobre Exception handling. Poderia disponibilizar o github do projeto ? 😁
@kipperdev
8 ай бұрын
Obrigada Dan! Claro, aqui o link :) github.com/Fernanda-Kipper/microservice-java