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
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
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 ?
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.
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.
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
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.
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 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.
@@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.
Oii, Gus. É para concentrar tudo que diz respeito a infraestrutura da aplicação. Ela representa o nível mais baixo de abstração responsável pela interação com sistemas externos, separando a parte técnica da lógica de negócios principal
Aprenda Java com Desconto! 10% OFF na Rocketseat 💜
tr.ee/kipperdev-desconto-rocketseat-one
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
Oii Lipe, bem notado! Eu esqueci de alterar o status do erro mesmo, obrigada
Fico feliz que gostou do video 💜
threatResponse? Q violência mano. Ah tu quer dizer treatResponse?
Aula Excelente como sempre, to tendo um problemão pra tratar os erros de um projeto monolítico com Thymeleaf, isso vai ser muito útil!
Que bom que a aula está te ajudando, Bruno
Finalmente um video que me ajudou a entender a criaçao de exceptions personalizadas.. Voce é brava, vlw
Pura didática essa explicação!
Muito obrigado, Fernanda!
teu conteúdo é MUITO bom, Fernanda
Muito obrigadaa, @jwlioCesar 💜
adoreiii estou fazendo uma api no meu trabalho foi mt util 🩷 vc arrasa
Ola Fernanda, faz pra gente o tratamento de exceções usando o problem details
Nice demais, mt obg pela aula, Deus te abençoe
Parece que teus vídeos sempre caem como uma luva no que eu to estudando
Que coincidência hahaha! Mas fico feliz que os vídeos ajudam 💜
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
Vc pode postar o url do video do indiano aqui?
Excelente conteudo ! Parabens !
Muito obrigadoo
ótimo conteúdo! Estou me batendo pra tratar exceções, uma duvida que eu fiquei é onde lança a exception, é o método la no service?
Eu acordei hoje pensando nisso, valeu kkkkk
hahahahaha
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 ?
Excelente video, gostei muito!!
você gosta de desenvolver sistemas somente em java com o spring ou você gosta de variar de linguagens?
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.
Ó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{} ?
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.
Que isso nengue, vc fazer uma api crud de começo não é tão difícil, é só entender quais @annotations usar.
Tá aí uma coisa que achei completamete fora da casinha kkkk@@Zardelas
Isso que da ficar estudando python de forma procedural e não ir a fundo em programar de vdd
@@diooooogo Amigo, eu sou Dev Java, vivo fazendo freelance, tu tem certeza que vai mandar essa de python pra mim?
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
Top demais!
O que tem na classe EventNotException??
Muito bom!
Quando usa @SpringBootTest, não aceita usar mock junto?
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.
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.
talvez eu possa está errado kk
@@samequewincheter1621 sim vc está errado kkkk
@@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.
@@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.
Deixa eu te pedir um favor, da um tiquinho de zoom no ferramental e nos textos nos próximos vídeos. 😅
Boa, pode deixar Cris! 💜
Voce consegue migrar pro GoLang ou Rust ?
Kipper, tem como disponibilizar o código fonte?
Claro!
Está nesse repositório aqui 😊
github.com/Fernanda-Kipper/microservice-java
interessante
vo te deixa rica ainda vendendo curso, escuta oq eu to te falando...
o que significa pasta infra?
Oii, Gus. É para concentrar tudo que diz respeito a infraestrutura da aplicação.
Ela representa o nível mais baixo de abstração responsável pela interação com sistemas externos, separando a parte técnica da lógica de negócios principal
Olá, muito bom seu vídeo sobre Exception handling. Poderia disponibilizar o github do projeto ? 😁
Obrigada Dan! Claro, aqui o link :)
github.com/Fernanda-Kipper/microservice-java