Design de API's RestFul com Spring Boot, TDD e o novo JUnit5

API's RestFul de alto nível com Spring Boot utilizando TDD e o novo JUnit 5.

4.50 (716 reviews)
Udemy
platform
Português
language
Web Development
category
instructor
Design de API's RestFul com Spring Boot, TDD e o novo JUnit5
3,144
students
13 hours
content
Dec 2019
last update
$19.99
regular price

What you will learn

Criar aplicações do zero com Spring Boot

Modelar e desenvolver API's RestFUL, utilizar adequadamente os métodos HTTP, códigos de status, etc

Desenvolver utilizando técnicas TDD e BDD

Criar testes unitários e de integração com JUnit 5, AssertJ, Mockito, etc

Desenvolver uma arquitetura de aplicação em camadas

Documentar a API's com Swagger

Criar serviço de agendamento de tarefas e envio de emails com o Java

Configuração de Deploy Contínuo

Cobertura de Código

Gerar o build da aplicação e fazer o deploy de sua API na nuvem

Integração do Github com Codecov e Travis CI

Description

Nesse curso, feito de desenvolvedor para desenvolvedor, trago conceitos fundamentais sobre testes automatizados e Api's RestFul,  além de boas práticas e Clean Code, para, em integração, criarmos API's RestFul utilizando a técnica do TDD (Test Driven Development), onde desenvolveremos orientado a testes, uma API RestFul utilizando Spring Boot. Curso 100% prático onde eu codifico todos os códigos.


Dentre outros conhecimentos, você aprenderá:


A modelar uma API RestFUL, utilizar os métodos HTTP, códigos de resposta, etc.;

Criar serviço de agendamento de tarefas e envio de emails com o Java;

Documentação de API's com Swagger

Implementação de testes automatizados;

Configuração de Deploy Contínuo;

Publicação da API na nuvem.

Content

Introdução

Introdução
Instalação de ferramentas
Repositório do projeto no GITHUB

Conceitos básicos sobre testes automatizados

Objetivos da sessão
Por que testar seu código?
Tipos de testes abordados no curso
Conhecendo a estrutura de um teste e implementando o primeiro teste com java
Assertivas com AssertJ
Desafio da Calculadora
Prática: Testando uma calculadora
O que é TDD (Test Driven Development)
Criando um cadastro de pessoas com TDD
O que é BDD (Behavior Driven Development)
Conhecendo a biblioteca Mockito e o recurso Mock
Outros recursos úteis do Mockito
Novidades do JUnit 5
Módulo de conceitos básicos sobre testes automatizados

Conceitos básicos sobre Rest

Objetivos da sessão
O que é Rest
Verbos HTTP
Modelagem de recursos de uma API RestFul
Como utilizar os códigos de status HTTP
Representação de recursos com JSON (JavaScript Object Notation)
Módulo de conceitos básicos sobre Rest

Iniciando com Spring Boot

Objetivos da sessão
Criando um projeto Spring boot do zero
Básico para criação de uma API Rest na prática com Spring boot parte 1
Básico para criação de uma API Rest na prática com Spring boot parte 2

Projeto Library API: Livros

Apresentando o Projeto e Arquitetura
Criação e importação do projeto na IDE
Testando o Projeto
Apresentando o design da API de livros
Como criar classes de testes para testar Rest Controllers
Aprendendo a desenhar uma requisição utilizando TDD
Controller, DTO e Lombok Project
Refatorando o teste para receber json via requisição
Utilizando a camada de serviço e o recurso mocks
Adicionando o ModelMapper ao projeto
Criando o teste da camada de serviço
Criando a implementação do BookService
Utilizando os recursos Bean Validation e Exception Handler
Lidando com erros de regra de negocio
Testando fluxo de exceções na camada de serviço
Criando nosso primeiro teste de integração com a base de dados
Verificando a existência de um livro pelo ISBN na base de dados
Adicionando nosso código fonte ao GITHUB
Criando a funcionalidade de obter as informações de um livro
Implementando o cenário onde o livro não existe no servidor
Deleção de livros
Atualização de livros
Teste unitário de obter livro por id na camada de serviço
Teste de Integração do método findById
Desafio dos métodos delete e update
Resposta do desafio delete - implementando o teste de deleção
Resposta do desafio update - implementando o teste de atualização
Testes de integração do repository para os métodos save e delete
Criando o design da consulta de livros por parâmetros
Implementando a consulta de livros
Implementando o filtro de livros com Example do spring data

Projeto Library API: Empréstimos

Modelagem da API de empréstimos
Primeiro Teste da API de emprestimos
Implementando o Post de Empréstimos
Lançando erro quando não encontrar o livro para fazer o empréstimo
Utilizando o RestControllerAdvice para tratamento de exceções de nossa API
Implementando validação de livro já emprestado
Enviando o código para o GITHUB através do IntelliJ
Implementando o getBookByIsbn na camada de serviço
Implementando o método de salvar o empréstimo da camada de serviço
Lançando erro ao tentar fazer empréstimo de um livro já emprestado
Teste de integração para verificar a existência de um livro emprestado
Funcionalidade de devolução/retorno de livros
Fazendo a devolução de um empréstimo inexistente
obtendo as informações de um empréstimo por id
implementando a atualização de empréstimos
Pesquisa de Empréstimos
Finalizando a pesquisa de empréstimos
Implementando a busca de empréstimos na camada de serviço
Finalizando os testes de integração de empréstimos

Sub-recursos, Envio de Emails e Agendamento de tarefas com Spring

Objetivos da sessão
Implementação de rota com sub-recurso
Implementando a busca de empréstimos por livro
Agendamento de tarefas com Schedules do Spring
Realizando as alterações para receber o email do customer
Criando consulta de empréstimos atrasados
Implementando o serviço de agendamento de tarefas
Configurando o servidor MailTrap para envio de emails
Implementando o serviço de email
Testando o envio de emails
Publicando as modificações no GITHUB

Documentando a API

Objetivos da sessão
Configurando o Swagger no projeto
Documentando a API com Swagger
Customizando o Swagger UI

Logs, Métricas e Monitoramento da API com Actuator e Spring Boot Admin

Objetivos da sessão
Adicionando o actuator para obter métricas sobre a Aplicação
Adicionando Logs para a aplicação
Apresentando o projeto Spring boot Admin
Monitorando nossa aplicação Spring boot com o Spring boot Admin

Integração contínua

Deploy contínuo com Travis CI
Corrigindo os testes para rodar novamente o Travis
Executando o build com integração continua
Adicionando a bagde de integração contínua no nosso repositório

Cobertura de Código com Jacoco e Codecov

O que é cobertura de código
Configurando e executando o Jacoco no projeto
Configurando o Codecov no repositório do Github

Colocando a API em produção na Nuvem

Configurando o Heroku e fazendo o deploy na nuvem
Configurando o deploy no heroku através do github
Como fazer o build e gerar os artefator JAR ou WAR
Testando a API de livros em produção através do Insomnia
Testando a API de empréstimos em produção

Final

Finalizando o curso

Reviews

Lucas
June 16, 2023
Curso muito bom, com introdução a diversos assuntos. Ótimo para iniciar os aprendizados sobre Spring, Testes e tecnologias de documentação e Deploy.
Tiago
May 24, 2023
Como eu não vi a data, não percebi que o vídeo era antigo, a metodologia de vídeos curtos, e a forma de explicar demonstra que este e um vídeo para iniciantes ou pessoas que estão tendo o primeiro contato com spring, meu intuito neste curso e solidificar e aprender conceitos que eu ainda não tinha visto, de forma que não me atende 100%.
Cledson
April 10, 2023
O curso é bom porém esta desatualizado então se vc usar as novas versões das stacks passará mais da metade do curso buscando correções de imcompatibilidade ou nem usará a stack ( exemplo o swagger)
Catharyna
September 26, 2022
Curso desatualizado e esperava mais explicações sobre as alterações de código que muitas vezes é rápida e não é explicado.
Yuri
August 21, 2022
Só não ganhou cinco estrelas pois em algumas aulas o áudio do curso fica um pouco confuso. De resto, tudo excelente, desde conteúdo até a dinâmica do professor.
Dênis
July 23, 2022
(1% Teoria x 99% Prática). Estou em uns 70% do curso. Tem Bastante conteúdo! Dei 5 estrelas pelo projeto ser bem completo e recheado com muito teste orientado a TDD e BDD. Só espero que quando terminar o projeto, eu consiga compreender melhor a estrutura de API RESTFul que está sendo desenvolvida. O curso não aborda HATEOAS.
Rui
May 19, 2022
Estou muito no inicio por isso ainda não consigo dar um bom feedback. No entanto e até ao momento, parece vir de encontro às minhas espetativas e necessidades.
Wanderley
May 14, 2022
Era o que estava procurando há um tempo, vai ser de grande ajuda para minha preparação para o mercado.
Isaque
May 12, 2022
Código ruim, faltam inúmeras boas práticas para a produção de API. Além de que as versÕes de muitas coisas estão bem datadas. Precisa de um refinamento e uma atualização urgente. Não vale a pena comprar esse curso em 2022.
Lucas
March 30, 2022
Bom na parte sobre testes, mediano no resto. Conteúdo bem iniciante e de certa forma um pouco desatualizado
Vinícius
January 27, 2022
As aulas são legais, porém a qualidade do áudio é horrível. As vezes quase não da para entender o que ele está falando, e dificulta muito para quem gosta de assistir as aulas em uma velocidade maior.
Alexandre
December 21, 2021
Ponto Forte: Conteúdo muito bom. Ponto a melhorar: audio ruim para escutar em 2x. Merece uma regravação com um microfone adequado.
Danilo
December 21, 2021
Até o momento o curso está em estágio introdutório apresentando os requisitos e objetivos. É sim algo esperado e necessário.
Edith
October 7, 2021
Realmente é um excelente curso. Recomendo bastante, principalmente para quem já tem um conhecimento intermediário na construção de API.
Vítor
September 12, 2021
um curso completo, que tem de tudo um pouco e muito bem aplicado e explicado, melhor curso que já fiz nessa plataforma até o momento

Charts

Price

Design de API's RestFul com Spring Boot, TDD e o novo JUnit5 - Price chart

Rating

Design de API's RestFul com Spring Boot, TDD e o novo JUnit5 - Ratings chart

Enrollment distribution

Design de API's RestFul com Spring Boot, TDD e o novo JUnit5 - Distribution chart
2633022
udemy ID
10/31/2019
course created date
12/20/2019
course indexed date
Bot
course submited by