No video

COMO TRATAR EXCEÇÕES NO JAVA SPRING

  Рет қаралды 14,929

Fernanda Kipper | Dev

Fernanda Kipper | Dev

Күн бұрын

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
@kipperdev
@kipperdev 7 ай бұрын
Aprenda Java com Desconto! 10% OFF na Rocketseat 💜 tr.ee/kipperdev-desconto-rocketseat-one
@Leonardo-lc1tp
@Leonardo-lc1tp Ай бұрын
Pura didática essa explicação! Muito obrigado, Fernanda!
@felipesousa_2
@felipesousa_2 7 ай бұрын
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
@kipperdev 7 ай бұрын
Oii Lipe, bem notado! Eu esqueci de alterar o status do erro mesmo, obrigada Fico feliz que gostou do video 💜
@zel9219
@zel9219 6 ай бұрын
threatResponse? Q violência mano. Ah tu quer dizer treatResponse?
@eduardo4455
@eduardo4455 7 ай бұрын
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
@Rico220990 5 ай бұрын
Vc pode postar o url do video do indiano aqui?
@jwlioCesar
@jwlioCesar 7 ай бұрын
teu conteúdo é MUITO bom, Fernanda
@kipperdev
@kipperdev 7 ай бұрын
Muito obrigadaa, @jwlioCesar 💜
@AnotherJoao
@AnotherJoao 7 ай бұрын
Parece que teus vídeos sempre caem como uma luva no que eu to estudando
@kipperdev
@kipperdev 7 ай бұрын
Que coincidência hahaha! Mas fico feliz que os vídeos ajudam 💜
@danielbarbosa3598
@danielbarbosa3598 5 ай бұрын
Nice demais, mt obg pela aula, Deus te abençoe
@pedrolima9484
@pedrolima9484 6 ай бұрын
Ola Fernanda, faz pra gente o tratamento de exceções usando o problem details
@etherealsz
@etherealsz 5 ай бұрын
adoreiii estou fazendo uma api no meu trabalho foi mt util 🩷 vc arrasa
@leandro_neis
@leandro_neis 2 ай бұрын
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 ?
@cristianosantos9983
@cristianosantos9983 7 ай бұрын
Deixa eu te pedir um favor, da um tiquinho de zoom no ferramental e nos textos nos próximos vídeos. 😅
@kipperdev
@kipperdev 7 ай бұрын
Boa, pode deixar Cris! 💜
@Zardelas
@Zardelas 7 ай бұрын
Eu acordei hoje pensando nisso, valeu kkkkk
@kipperdev
@kipperdev 7 ай бұрын
hahahahaha
@samequewincheter1621
@samequewincheter1621 5 ай бұрын
O que tem na classe EventNotException??
@isaiaskardoso2640
@isaiaskardoso2640 6 ай бұрын
Eita como ajuda , obrigado.
@DenisioRodrigues
@DenisioRodrigues 3 ай бұрын
Top demais!
@serumano_plays6516
@serumano_plays6516 7 ай бұрын
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.
@paulojorgesalomao
@paulojorgesalomao 7 ай бұрын
Excelente video, gostei muito!! você gosta de desenvolver sistemas somente em java com o spring ou você gosta de variar de linguagens?
@pedroalmeida5431
@pedroalmeida5431 6 ай бұрын
Muito bom!
@gabrielrochasantana
@gabrielrochasantana 5 ай бұрын
Ó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{} ?
@arozendojr
@arozendojr 7 ай бұрын
Quando usa @SpringBootTest, não aceita usar mock junto?
@diooooogo
@diooooogo 7 ай бұрын
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
@Zardelas 7 ай бұрын
Que isso nengue, vc fazer uma api crud de começo não é tão difícil, é só entender quais @annotations usar.
@diooooogo
@diooooogo 7 ай бұрын
Tá aí uma coisa que achei completamete fora da casinha kkkk@@Zardelas
@diooooogo
@diooooogo 7 ай бұрын
Isso que da ficar estudando python de forma procedural e não ir a fundo em programar de vdd
@Zardelas
@Zardelas 7 ай бұрын
@@diooooogo Amigo, eu sou Dev Java, vivo fazendo freelance, tu tem certeza que vai mandar essa de python pra mim?
@diooooogo
@diooooogo 7 ай бұрын
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
@jonatasoliveira800
@jonatasoliveira800 6 ай бұрын
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
@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
@samequewincheter1621 5 ай бұрын
talvez eu possa está errado kk
@jonatasoliveira800
@jonatasoliveira800 5 ай бұрын
@@samequewincheter1621 sim vc está errado kkkk
@jonatasoliveira800
@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
@JulioCesar-Arc 3 ай бұрын
@@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.
@DaveBatistaa
@DaveBatistaa 7 ай бұрын
Voce consegue migrar pro GoLang ou Rust ?
@danielvicentefagundes6774
@danielvicentefagundes6774 7 ай бұрын
interessante
@danielsilvaaraujodossantos105
@danielsilvaaraujodossantos105 7 ай бұрын
Kipper, tem como disponibilizar o código fonte?
@kipperdev
@kipperdev 7 ай бұрын
Claro! Está nesse repositório aqui 😊 github.com/Fernanda-Kipper/microservice-java
@gustavobernardes5770
@gustavobernardes5770 2 ай бұрын
o que significa pasta infra?
@VeshaSec
@VeshaSec 7 ай бұрын
vo te deixa rica ainda vendendo curso, escuta oq eu to te falando...
@danielandrade3389
@danielandrade3389 7 ай бұрын
Olá, muito bom seu vídeo sobre Exception handling. Poderia disponibilizar o github do projeto ? 😁
@kipperdev
@kipperdev 7 ай бұрын
Obrigada Dan! Claro, aqui o link :) github.com/Fernanda-Kipper/microservice-java
10 Spring and Spring Boot Common Mistakes You Need To STOP
15:49
Amigoscode
Рет қаралды 146 М.
Spring Tips: Proxies
27:18
SpringDeveloper
Рет қаралды 11 М.
My Cheetos🍕PIZZA #cooking #shorts
00:43
BANKII
Рет қаралды 22 МЛН
Comfortable 🤣 #comedy #funny
00:34
Micky Makeover
Рет қаралды 15 МЛН
Spring Boot - JSR 303 - The Right Way To Validate Objects
43:41
Bouali Ali
Рет қаралды 20 М.
WHAT IS A RESTful API IN PRACTICE? RICHARDSON MATURITY
13:13
Michelli Brito
Рет қаралды 42 М.
Top 25 Microservice Interview Questions Answered - Java Brains
39:54
Microservices using SpringBoot 3.0 | Full Example [NEW]
1:25:38
Daily Code Buffer
Рет қаралды 178 М.
Desafio Vagas: API de tarefas com Spring Boot!
39:33
Giuliana Bezerra
Рет қаралды 26 М.
Spring Boot Tutorial - Crash Course
1:16:32
Marco Codes
Рет қаралды 147 М.
Complete Backend API in Golang (JWT, MySQL & Tests)
1:37:57
Programming's Greatest Mistakes • Mark Rendle • GOTO 2023
51:24
GOTO Conferences
Рет қаралды 88 М.
APRENDA DOCKER DO ZERO | TUTORIAL COMPLETO COM DEPLOY
44:15
Fernanda Kipper | Dev
Рет қаралды 98 М.