Spring Boot 2025 REST API's do 0 à AWS e GCP c Java e Docker
What you'll learn
- 10% Teoria e 90% Prática
- A desenvolver uma API RESTFul do 0 absoluto
- Criar uma API RESTful completa com Spring Boot, aplicando boas práticas clean code e design patterns
- Implementar autenticação e segurança avançadas com JWT e Spring Security
- Aprender a usar o Postman para testar APIs RESTful, explorando parâmetros, verbos HTTP, autenticação, paginação, versionamento e headers
- Padrões de projetos como DTO, Builder, Fluent Interface, Factory, Strategy dentre outros aplicados na prática
- Fazer upload e download de arquivos de arquivos na sua API
- Exportação e importação de dados em Excel e CSV
- Geração de relatórios profissionais com JasperReports e Apache POI
- Envio de e-mails com Spring Mail e Gmail
- Documentar uma API com o Swagger (Open API)
- Aplicar testes unitários com JUnit 5 e Mockito
- Aplicar testes de integração com JUnit 5, Mockito, REST Assured e TestContainers
- Conexão com o Banco de Dados MySQL com Spring Data JPA e Hibernate
- Versionamento do banco de dados com migrations via Flyway
- Gerenciar logs no Spring Boot para monitoramento e debug
- Entender os fundamentos do REST, incluindo requests, responses e status codes HTTP
- Explorar conceitos avançados do REST, como modelo de maturidade RESTful, Content Negotiation e HATEOAS com HAL
- Os principais Verbos/Métodos do REST(GET, POST, PUT, PATCH, DELETE e OPTIONS)
- Como usar parâmetros via query, path, header e body
- Modelo de Maturidade de Richardson
- Diferenças entre REST e RESTful
- Versionamento de APIs para garantir compatibilidade entre versões
- Implementar paginação de dados e buscas otimizadas, facilitando o consumo da API
- Contêinerizar a API com Docker e Docker Compose
- Deploy completo da API na AWS utilizando Amazon ECS, Amazon RDS, Amazon ECR e IAM
- Deploy completo da API na GCP utilizando Google Cloud Run, Google Cloud SQL, GKE e Artifact Registry
- Continuous Deployment na AWS com GitHub Actions, Docker, Amazon ECR e Amazon ECS
- Continuous Deployment na GCP com GitHub Actions, Docker e Google Kubernetes Engine (GKE)
- EXTRA - Orquestração de contêineres com Docker e Docker Compose
- EXTRA - [Minicurso de React JS] Como Consumir a API com ReactJS, criando uma interface moderna e responsiva
- EXTRA - Como Integrar API's RESTful à API do ChatGPT, explorando inteligência artificial
- EXTRA - [Minicurso de Kubernetes - K8s] conceitos essenciais para deploys escaláveis
Requirements
- Noções básicas de Orientação a Objetos
- Conhecimentos básicos de SQL e qualquer banco de dados relacional
- Conhecimentos básicos de Java
- Noções básicas de Request e Response do HTTP
Description
[14/03/2025] Todo o conteúdo prático do curso foi regravado e reestruturado, foram adicionados novos recursos, tecnologias e funcionalidades.
Spring Boot 2025: Do Zero à Amazon AWS e Google Cloud com Java, Docker e Kubernetes
Se você quer aprender Spring Boot de verdade, desenvolvendo aplicações modernas, seguras e escaláveis, este curso é para você. Aqui, você vai construir um projeto completo e bem estruturado, explorando todos os recursos essenciais do Spring Boot enquanto se prepara para levar suas aplicações à nuvem com AWS e GCP.
O foco vai muito além de criar uma API: você sairá dominado o Spring Boot, compreendendo suas funcionalidades e escrevendo código limpo, eficiente e pronto para produção.
Domine Spring Boot na prática
Desde os primeiros passos até os recursos mais avançados, você aprenderá a desenvolver aplicações robustas com injeção de dependências, principais annotations, criação de controllers, manipulação de requisições e respostas, tratamento de exceções e muito mais.
Além de construir um sistema bem estruturado, você verá como integrar sua aplicação com um banco de dados MySQL, utilizando Spring Data JPA, Hibernate e Flyway para um gerenciamento seguro e profissional. Também aplicará padrões de design como DTO, Builder, Factory e Strategy, garantindo um código organizado e fácil de manter.
Código seguro, testado e bem documentado
Para garantir que sua aplicação funcione perfeitamente, você aprenderá testes unitários e de integração com JUnit 5, Mockito, REST Assured e TestContainers, validando cada funcionalidade com confiança.
A segurança também será uma prioridade. Você implementará autenticação com Spring Security e JWT, protegendo seus endpoints e garantindo controle de acesso eficiente. Além disso, trabalharemos com CORS, Content Negotiation e HATEOAS, tornando sua API mais flexível e aderente aos padrões do mercado.
E para que sua aplicação seja fácil de entender e integrar, configuraremos a documentação automatizada com Swagger (OpenAPI).
Desenvolva, conteinerize e implante na nuvem
Saber programar é essencial, mas entender como levar sua aplicação para produção é o que realmente faz a diferença. Você aprenderá Docker e Docker Compose, criando um ambiente seguro e previsível para rodar suas aplicações.
Depois, vamos automatizar a entrega do software com CI/CD utilizando GitHub Actions, garantindo que suas atualizações sejam publicadas de forma rápida e eficiente.
Você também verá na prática como implantar sua aplicação na AWS e GCP. Trabalharemos com Amazon RDS, Amazon ECR e Amazon ECS na AWS e com Google Cloud SQL, Google Artifact Registry, Google Cloud Run e Kubernetes no GKE (Google Kubernetes Engine) na GCP.
Expanda suas habilidades com conteúdos extras
Além do domínio do Spring Boot, você terá acesso a conteúdos que ampliam seu conhecimento e preparam você para desafios do mundo real. Você aprenderá a consumir a API com ReactJS, gerar relatórios profissionais com JasperReports e Apache POI, trabalhar com upload e download de arquivos, importar e exportar planilhas, enviar e-mails com Spring Mail e Gmail e até integrar sua aplicação com o ChatGPT.
Aprenda com um curso sempre atualizado
Desenvolvido por um instrutor com quase 15 anos de experiência no desenvolvimento de software e mais de 55 mil alunos treinados, este curso foi atualizado para Spring Boot 3.4 e Java 21, trazendo as melhores práticas mais recentes do mercado.
Se você quer um curso completo, prático e direto ao ponto, que te ensine Spring Boot de forma aplicada e te prepare para implantar aplicações profissionais na nuvem, inscreva-se agora e comece sua jornada!
Who this course is for:
- Desenvolvedores em início de carreira e que precisam aprender a desenvolver uma API REST/RESFul do zero
- Esse curso é indicado para desenvolvedores e engenheiros de software
- Para desenvolvedores back-end com conhecimentos de ASP NET, Rails, Django, Node etc e desejam aprender como fazer o que sabem mas com outra tecnologia
- Desenvolvedores front-end que desejam se tornar fullstack
- Quem já tentou outros tutoriais sobre Webservices REST/RESTful e descobriu que eles eram muito lentos, desatualizados e chatos!
Instructors
See my biography in English below.
Eu sou Leandro Costa, analista de sistemas e desenvolvedor, bacharel em Sistemas de Informação com pós-graduação em Engenharia de Software. Trabalho a mais de 11 anos como desenvolvedor back-end e sou um entusiasta apaixonado pela área. Em todos esses anos eu errei bastante, aprendi muito com esses erros. Por isso sei o que você precisa aprender e com o que não deve perder seu tempo para ter uma carreira bem-sucedida na área de tecnologia.
Comecei minha carreira com manutenção de computadores, impressoras e monitores - arriscava fuçar em tudo que tinha um chip dentro. Comecei a programar em Delphi e logo depois iniciei a faculdade onde me dediquei à aprender Java e GNU/Linux. Como desenvolvedor eu iniciei trabalhando com Delphi, depois Java com JSF e Spring, Groovy, depois AngularJS e me apaixonei por JavaScript. Atualmente trabalho com .NET Core e C# e estou gostando bastante principalmente depois que a plataforma virou Open Source. Já trabalhei em diferentes tamanhos de projetos nacionais e internacionais, em setores como varejo, farmacêutico, atacadista, marketing, governo, ERP e fintechs. Participei de projetos Agile, "Fake Agile", Cascata, RUP e claro me deparei com muito Extremme Go Horse e confesso que tive que fazer algumas gambiarras ao longo da carreira.
Nos diferentes projetos em que trabalhei utilizei diversas tecnologias como Java, Spring, Hibernate, JSF, C#, Entity Framework, ASP.NET, Groovy, Grails, JavaScript, AngularJS, Docker, Docker Compose, MySQL, Postgrees, SQL Server, Oracle dentre outras.
Atualmente tenho como objetivo ajudar você através de treinamentos eficientes e práticos na área de desenvolvimento, Agile, TDD, Integração Contínua, Docker, Clean Code e API's (SOA), especialmente RESTful API's. Sou apaixonado por transmitir conhecimentos e contribuir para que as pessoas se desenvolvam e alcancem o melhor de si.
E me sinto muito gratificado em fazer parte da jornada de aprendizado da vida de muitos alunos e por essa razão eu estou empenhando em dar o meu melhor entregando conteúdos cada vez melhores e mais relevantes.
English Biography
I am Leandro Costa, systems analyst and developer, Bachelor of Information Systems with a postgraduate degree in Software Engineering. I've been working for more than eight years as a back-end developer, and I'm a passionate enthusiast for the area. In all these years, I made a lot of mistakes and learned a lot from these mistakes. That's why I know exactly what you need to learn and what you shouldn't waste your time on to have a successful career in the field of technology.
I started my career with the maintenance of computers, printers, and monitors - I risked going through everything that had a chip inside. I started programming in Delphi, and soon after, I started college, where I dedicated myself to learning Java and GNU / Linux. As a developer, I started working with Delphi, then Java with JSF and Spring, Groovy, then AngularJS, and fell in love with JavaScript. I currently work with .NET Core and C #, and I am enjoying it a lot, mainly after the platform became Open Source. I have worked in different sizes of national and international projects in sectors such as retail, pharmaceutical, wholesaler, marketing, government, ERP, and fintech. I participated in projects Agile, "Fake Agile," Waterfall, RUP, and of course, I came across a lot of Extreme go Horse, and I confess that I had to do some "jerry-rigs" throughout my career.
In the different projects I worked on, I used several technologies such as Java, Spring, Hibernate, JSF, C #, Entity Framework, ASP.NET, Groovy, Grails, JavaScript, AngularJS, Docker, Docker Compose, MySQL, Postgres, SQL Server, Oracle, Amazon AWS, Microsoft Azure among others.
Currently, I am collaborating in the learning of people who seek knowledge through efficient and practical training in the area of development, Agile, TDD, Continuous Integration, Docker, Clean Code, and APIs (SOA), especially RESTfull APIs. I am passionate about imparting knowledge and helping people to develop and achieve the best of themselves.
And I feel very gratified to be part of the learning journey of many students' lives, and for that reason, I am striving to give my best by delivering better and more relevant content.
A Erudio Training oferece consultorias especializadas em Agile Software Development e treinamentos online de programação. Fundada por profissionais experientes, a empresa se dedica ao desenvolvimento de software, gestão ágil de equipes, testes automatizados, arquitetura e design de software, cobrindo todo o ciclo de vida do desenvolvimento.
A Erudio Training surgiu em 2011, inicialmente como um blog onde Leandro Costa compartilhava suas experiências no mercado de trabalho. No blog, ele abordava temas como desenvolvimento e metodologias ágeis, em uma época em que poucos falavam sobre Scrum e outros frameworks ágeis. Ainda naquele ano, foi criado o canal no YouTube, seguindo a mesma linha de conteúdo. Nos anos seguintes, Leandro conciliou seu trabalho como analista desenvolvedor com a Erudio Training, que naquele momento era apenas um hobby que consumia tempo e dinheiro. Em 2018, a virada aconteceu, e a Erudio Training passou a oferecer consultorias e treinamentos em TI.
Na Erudio Training, cada consultoria é planejada com foco nas tecnologias mais modernas e eficientes, garantindo soluções que atendem às necessidades de empresas que buscam inovação e agilidade. Trabalhamos com REST, Integração Contínua, Continuous Deployment, Desenvolvimento e Entrega Ágil de Software, Microsserviços, Kubernetes, Docker e os principais serviços de cloud computing, como AWS, Azure e Google Cloud. Nossa experiência nos permite oferecer orientações estratégicas e práticas, cobrindo desde a arquitetura até a implementação e automação de processos, capacitando equipes a realizar entregas ágeis e obter resultados de alta qualidade. Embora também ofereçamos treinamentos online, nosso grande diferencial está nas consultorias especializadas, desenvolvidas para transformar operações e maximizar o desempenho no desenvolvimento de software.
Seja bem-vindo ao perfil do Especialista em Atendimento e Apoio ao Aluno da Erudio Training na Udemy!
Como membro dedicado do time da Erudio Training, meu enfoque principal é assegurar o sucesso e a satisfação de nossos alunos ao longo de sua jornada de aprendizado.
Estou à disposição para oferecer auxílio personalizado, orientação e incentivo, ao mesmo tempo que promovo um ambiente positivo e colaborativo para todos os alunos da Erudio Training.
Seu crescimento profissional é nossa máxima prioridade, e estou empenhado em auxiliá-lo a se destacar em seus objetivos educacionais.