- Sobre o curso
- O que é um web service?
- Instalação Java, Eclipse Spring Tools e IntelliJ IDEA
- Código-Fonte dos exemplos (GitHub)
- Dúvidas e ajuda
- Criando um projeto com o Spring Initializr
- Eclipse Spring Tool Suite (STS)
- IntelliJ IDEA
- Arquivo pom.xml
- Classe de Application
- Introdução Resumo - para desenvolvedores avançados
- Resumo
- O arquivo application.properties
- Criando o IndexController
- @RequestMapping
- GET - POST - DELETE - PUT
- GET - @RequestParam
- @PathVariable
- POST - @RequestParam
- Lista de Carros básico
- Criando as tabelas no MySQL
- Configurando o MySQL/JPA
- @Service - Injeção de dependências com Spring
- Ajuste Timezone MySQL
- JPA - Lista de Carros do banco de dados
- @Id @GeneratedValue (Auto vs Identity)
- Get Carro By Id
- Get Carro By Tipo
- POST - Salvar Carro
- PUT - Atualizar o Carro
- DELETE - Excluir um Carro
- Status Code de retorno do protocolo HTTP
- ResponseEntity
- GET - 404 Not Found
- GET - 204 No Content (CrudRepository)
- O projeto Lombok
- Lombok no Eclipse
- DTO - Data Transfer Object e JPARepository
- DTO - parte 2 - lambdas
- Model Mapper
- POST - 201 Created - URI location
- PUT - Correção
- PUT
- DELETE
- Testes com Spring Boot
- Teste para Inserir um Carro
- Teste para inserir e Deletar um Carro
- A necessidade de termos um banco de dados para testes
- H2 - banco de dados em memória para testes
- Preenchendo o H2 com uma massa de testes
- Testes HTTP na API
- Documentação com Swagger
- ExceptionHandler - parte 1
- ExceptionHandler - parte 2
- ResponseStatus
- ResponseEntityExceptionHandler
- Spring Security
- Customizando a senha de autenticação
- SecurityConfig
- Basic Authentication
- CSRF - Cross-Site Request Forgery
- Memory Authentication e Perfis de acesso (ROLES)
- UserDetails
- UserDetailsService
- Database Authentication - parte 1 - User
- Database Authentication - parte 2 - Roles
- Testes na API de Segurança
- Fazendo o build de um jar
- Deploy no Heroku com GitHub
- Deploy no Heroku Git
- Profiles - prod vs dev
- Firebase Storage
- Base64
- Firebase Storage - configurações (parte 1)
- Firebase Storage - configurações (parte 2)
- Firebase Storage - código
- Testes unitários
- CORS
- Introdução ao JWT
- JWT Token na prática
- Preparando o código (parte 1)
- Preparando o código (parte 2) - testes
- Gerando e validando o Token JWT (JWTUtil)
- JWT AuthenticationFilter
- JWT AuthorizationFilter